本文整理汇总了C#中GlassHtml.RenderLink方法的典型用法代码示例。如果您正苦于以下问题:C# GlassHtml.RenderLink方法的具体用法?C# GlassHtml.RenderLink怎么用?C# GlassHtml.RenderLink使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类GlassHtml
的用法示例。
在下文中一共展示了GlassHtml.RenderLink方法的13个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: RenderLink_RendersAValidaLink
public void RenderLink_RendersAValidaLink()
{
//Assign
GlassHtml html = new GlassHtml("master");
FieldTypes.Link link = new FieldTypes.Link();
link.Class = "classy";
link.Anchor = "landSighted";
link.Target = "xMarksTheSpot";
link.Text = "Click here";
link.Title = "You should click here";
link.Url = "/yourpage";
NameValueCollection attrs = new NameValueCollection();
attrs.Add("style", "got some");
//Act
var result = html.RenderLink(link, attrs);
//Assert
Assert.AreEqual("<a href='/yourpage#landSighted' title='You should click here' target='xMarksTheSpot' class='classy' style='got some' class='classy' target='xMarksTheSpot' title='You should click here' >Click here</a>", result);
}
示例2: RenderLink_LinkWithCustomContent
public void RenderLink_LinkWithCustomContent()
{
//Arrange
var expected = "<a href='/somewhere.aspx?temp=fred' class='myclass' >my other content</a>";
var scContext = Substitute.For<ISitecoreContext>();
var html = new GlassHtml(scContext);
var link = new Fields.Link();
link.Text = "hello world";
link.Url = "/somewhere.aspx";
link.Query = "temp=fred";
var model = new { Link = link };
var parameters = new NameValueCollection { { "class", "myclass" } };
var content = "my other content";
//Act
var result = html.RenderLink(model, x => x.Link, parameters, contents: content);
//Assert
Assert.AreEqual(expected, result);
}
示例3: RenderLink_LinkWithMixedPropertiesAndParameters
public void RenderLink_LinkWithMixedPropertiesAndParameters()
{
//Arrange
var expected = "<a href='/somewhere.aspx?temp=fred#anOther' class='myclass' target='_blank' title='mytitle' >hello world</a>";
var scContext = Substitute.For<ISitecoreContext>();
var html = new GlassHtml(scContext);
var link = new Fields.Link();
link.Text = "hello world";
link.Url = "/somewhere.aspx";
link.Anchor = "aAnchor";
link.Class = "myclass";
link.Query = "temp=fred";
link.Target = "_blank";
link.Title = "mytitle";
var model = new { Link = link };
var parameters = new NameValueCollection {{"anchor", "anOther"}};
//Act
var result = html.RenderLink(model, x => x.Link, parameters);
//Assert
Assert.AreEqual(expected, result);
}
示例4: RenderLink_LinkWithNoAttributes
public void RenderLink_LinkWithNoAttributes()
{
//Arrange
var expected = "<a href='/somewhere.aspx' >hello world</a>";
var scContext = Substitute.For<ISitecoreContext>();
var html = new GlassHtml(scContext);
var link = new Fields.Link();
link.Text = "hello world";
link.Url = "/somewhere.aspx";
var model = new {Link = link};
//Act
var result = html.RenderLink(model, x => x.Link);
//Assert
Assert.AreEqual(expected, result);
}
示例5: RenderLink_LinkContainsAnchor_Issue155
public void RenderLink_LinkContainsAnchor_Issue155()
{
//Assign
string targetPath = "/sitecore/content/Tests/GlassHtml/MakeEditable/Target";
var db = Sitecore.Configuration.Factory.GetDatabase("master");
var context = Context.Create(Utilities.CreateStandardResolver());
context.Load(new SitecoreAttributeConfigurationLoader("Glass.Mapper.Sc.Integration"));
var service = new SitecoreContext(db);
var html = new GlassHtml(service);
string fieldValue = "<link text='text' linktype='anchor' anchor='footer' title='' class='' />";
string expected = "<a href='#footer' >text</a>";
var item = db.GetItem(targetPath);
var field = item.Fields["StringField"];
using (new ItemEditing(item, true))
{
field.Value = fieldValue;
}
var model = service.GetItem<IStubLinkClass>(targetPath);
var doc = new XmlDocument();
doc.LoadXml("<site name='GetHomeItem' virtualFolder='/' physicalFolder='/' rootPath='/sitecore/content/Tests/SitecoreContext/GetHomeItem' startItem='/Target1' database='master' domain='extranet' allowDebug='true' cacheHtml='true' htmlCacheSize='10MB' registryCacheSize='0' viewStateCacheSize='0' xslCacheSize='5MB' filteredItemsCacheSize='2MB' enablePreview='true' enableWebEdit='true' enableDebugger='true' disableClientData='false' />");
var siteContext = new SiteContextStub(
new SiteInfo(
doc.FirstChild
)
);
siteContext.SetDisplayMode(DisplayMode.Normal);
Sitecore.Context.Site = siteContext;
StringBuilder sb = new StringBuilder();
//Act
var result = html.RenderLink(model, x => x.Link);
//Assert
Assert.AreEqual(expected, result);
}
示例6: RenderLink_LinkHasQuestionMarkAndAnchorAtEnd
public void RenderLink_LinkHasQuestionMarkAndAnchorAtEnd()
{
//Arrange
var expected = "<a href='http://www.seek.com.au/jobs/in-australia/?dateRange=test&value1=test2#anchor' >hello world</a>";
var scContext = Substitute.For<ISitecoreContext>();
var html = new GlassHtml(scContext);
var link = new Fields.Link();
link.Text = "hello world";
link.Url = "http://www.seek.com.au/jobs/in-australia/?dateRange=test&value1=test2#anchor";
var model = new { Link = link };
//Act
var result = html.RenderLink(model, x => x.Link);
//Assert
Assert.AreEqual(expected, result);
}
示例7: RenderLink_LinkHasHashBang
public void RenderLink_LinkHasHashBang()
{
//Arrange
var expected = "<a href='http://www.seek.com.au/jobs/in-australia/#dateRange=999&workType=0&industry=&occupation=&graduateSearch=false&salaryFrom=0&salaryTo=999999&salaryType=annual&advertiserID=&advertiserGroup=&keywords=sitecore+developer&page=1&displaySuburb=&seoSuburb=&isAreaUnspecified=false&location=&area=&nation=3000&sortMode=KeywordRelevance&searchFrom=filters&searchType=' >hello world</a>";
var scContext = Substitute.For<ISitecoreContext>();
var html = new GlassHtml(scContext);
var link = new Fields.Link();
link.Text = "hello world";
link.Url = "http://www.seek.com.au/jobs/in-australia/#dateRange=999&workType=0&industry=&occupation=&graduateSearch=false&salaryFrom=0&salaryTo=999999&salaryType=annual&advertiserID=&advertiserGroup=&keywords=sitecore+developer&page=1&displaySuburb=&seoSuburb=&isAreaUnspecified=false&location=&area=&nation=3000&sortMode=KeywordRelevance&searchFrom=filters&searchType=";
var model = new { Link = link };
//Act
var result = html.RenderLink(model, x => x.Link);
//Assert
Assert.AreEqual(expected, result);
}
示例8: RenderLink_WithMultiParametersRepeated_ReturnsAllParamters
public void RenderLink_WithMultiParametersRepeated_ReturnsAllParamters()
{
//Arrange
var expected =
"<a href='/somewhere.aspx?temp=fred&temp=fred2&temp=fred3&temp1=jane' class='myclass' >my other content</a>";
var scContext = Substitute.For<ISitecoreContext>();
var html = new GlassHtml(scContext);
var link = new Fields.Link();
link.Text = "hello world";
link.Url = "/somewhere.aspx";
link.Query = "temp=fred&temp=fred2&temp=fred3&temp1=jane";
var model = new { Link = link };
var parameters = new NameValueCollection { { "class", "myclass" } };
var content = "my other content";
//Act
var result = html.RenderLink(model, x => x.Link, parameters, contents: content);
//Assert
AssertHtml.AreHtmlElementsEqual(expected, result, "a");
}
示例9: RenderLink_HtmlTitleAlreadyEncoded_DoesNotDoubleEncode
public void RenderLink_HtmlTitleAlreadyEncoded_DoesNotDoubleEncode()
{
//Arrange
//This test checks that a value already encoded does not get accidentally double HTML encoded.
var expected = "<a href='/somewhere.aspx' title='hello & world' >hello & world</a>";
var scContext = Substitute.For<ISitecoreContext>();
var html = new GlassHtml(scContext);
var link = new Fields.Link();
link.Text = "hello & world";
link.Url = "/somewhere.aspx";
link.Title = "hello & world";
var model = new { Link = link };
//Act
var result = html.RenderLink(model, x => x.Link);
//Assert
AssertHtml.AreHtmlElementsEqual(expected, result, "a");
}
示例10: RenderLink_ContainsSpecialCharacters
public void RenderLink_ContainsSpecialCharacters()
{
//Arrange
var expected = "<a href='http://na2.se.voxco.com/se/?st=6M9NIk9SWq9dkYTuJI2wewuV3b3bWrDQMwgCt2aBnWDGTaoxLYNESg%3D%3D' title='hello & world' >hello & world</a>";
var scContext = Substitute.For<ISitecoreContext>();
var html = new GlassHtml(scContext);
var link = new Fields.Link();
link.Text = "hello & world";
link.Url = "http://na2.se.voxco.com/se/?st=6M9NIk9SWq9dkYTuJI2wewuV3b3bWrDQMwgCt2aBnWDGTaoxLYNESg%3D%3D";
link.Title = "hello & world";
var model = new { Link = link };
//Act
var result = html.RenderLink(model, x => x.Link);
//Assert
AssertHtml.AreHtmlElementsEqual(expected, result, "a");
}
示例11: RenderLink_HtmlEncodesTitle
public void RenderLink_HtmlEncodesTitle()
{
//Arrange
var expected = "<a href='/somewhere.aspx' title='hello & world' >hello & world</a>";
var scContext = Substitute.For<ISitecoreContext>();
var html = new GlassHtml(scContext);
var link = new Fields.Link();
link.Text = "hello & world";
link.Url = "/somewhere.aspx";
link.Title = "hello & world";
var model = new { Link = link };
//Act
var result = html.RenderLink(model, x => x.Link);
//Assert
AssertHtml.AreHtmlElementsEqual(expected, result, "a");
}
示例12: RenderLink_LinkWithAllSetProperties
public void RenderLink_LinkWithAllSetProperties()
{
//Arrange
var expected = "<a href='/somewhere.aspx?temp=fred#aAnchor' target='_blank' class='myclass' title='mytitle' >hello world</a>";
var scContext = Substitute.For<ISitecoreContext>();
var html = new GlassHtml(scContext);
var link = new Fields.Link();
link.Text = "hello world";
link.Url = "/somewhere.aspx";
link.Anchor = "aAnchor";
link.Class = "myclass";
link.Query = "temp=fred";
link.Target = "_blank";
link.Title = "mytitle";
var model = new { Link = link };
//Act
var result = html.RenderLink(model, x => x.Link);
//Assert
AssertHtml.AreHtmlElementsEqual(expected, result, "a");
}
示例13: RenderLink_LinkHasHash
public void RenderLink_LinkHasHash()
{
//Arrange
var expected = "<a href='http://www.seek.com.au/jobs/in-australia/#dateRange' >hello world</a>";
var scContext = Substitute.For<ISitecoreContext>();
var html = new GlassHtml(scContext);
var link = new Fields.Link();
link.Text = "hello world";
link.Url = "http://www.seek.com.au/jobs/in-australia/#dateRange";
var model = new { Link = link };
//Act
var result = html.RenderLink(model, x => x.Link);
//Assert
AssertHtml.AreHtmlElementsEqual(expected, result, "a");
}