本文整理汇总了C#中XhtmlMobileTextWriter.WriteEndTag方法的典型用法代码示例。如果您正苦于以下问题:C# XhtmlMobileTextWriter.WriteEndTag方法的具体用法?C# XhtmlMobileTextWriter.WriteEndTag怎么用?C# XhtmlMobileTextWriter.WriteEndTag使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类XhtmlMobileTextWriter
的用法示例。
在下文中一共展示了XhtmlMobileTextWriter.WriteEndTag方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: RenderItemDetailsWithoutTableTags
private void RenderItemDetailsWithoutTableTags(XhtmlMobileTextWriter writer, ObjectListItem item)
{
if (Control.VisibleItemCount == 0) {
return;
}
Style style = this.Style;
Style labelStyle = Control.LabelStyle;
Style subCommandStyle = Control.CommandStyle;
Style subCommandStyleNoItalic = (Style)subCommandStyle.Clone();
subCommandStyleNoItalic.Font.Italic = BooleanOption.False;
ConditionalRenderOpeningDivElement(writer);
String cssClass = GetCustomAttributeValue(XhtmlConstants.CssClassCustomAttribute);
String labelClass = GetCustomAttributeValue(XhtmlConstants.CssLabelClassCustomAttribute);
if (labelClass == null || labelClass.Length == 0) {
labelClass = cssClass;
}
ConditionalEnterStyle(writer, labelStyle);
bool requiresLabelClassSpan = CssLocation == StyleSheetLocation.PhysicalFile && labelClass != null && labelClass.Length > 0;
if (requiresLabelClassSpan) {
writer.WriteBeginTag("span");
writer.WriteAttribute("class", labelClass, true);
writer.Write(">");
}
writer.Write(item[Control.LabelFieldIndex]);
writer.SetPendingBreak();
if (requiresLabelClassSpan) {
writer.WriteEndTag("span");
}
ConditionalExitStyle(writer, labelStyle);
writer.WritePendingBreak();
IObjectListFieldCollection fields = Control.AllFields;
int fieldIndex = 0;
ConditionalEnterStyle(writer, style);
foreach (ObjectListField field in fields)
{
if (field.Visible) {
writer.Write(field.Title + ":");
writer.Write(" ");
writer.Write(item[fieldIndex]);
writer.WriteBreak();
}
fieldIndex++;
}
ConditionalExitStyle(writer, style);
String commandClass = GetCustomAttributeValue(XhtmlConstants.CssCommandClassCustomAttribute);
ConditionalEnterStyle(writer, subCommandStyleNoItalic);
if ((String) Device[XhtmlConstants.BreaksOnInlineElements] != "true") {
writer.Write("[ ");
}
ConditionalEnterStyle(writer, subCommandStyle);
ObjectListCommandCollection commands = Control.Commands;
foreach (ObjectListCommand command in commands)
{
RenderPostBackEventAsAnchor(writer, command.Name, command.Text);
if ((String) Device[XhtmlConstants.BreaksOnInlineElements] != "true") {
writer.Write(" | ");
}
}
String controlBCT = Control.BackCommandText;
String backCommandText = controlBCT == null || controlBCT.Length == 0 ?
GetDefaultLabel(BackLabel) :
Control.BackCommandText;
RenderPostBackEventAsAnchor(writer, BackToList, backCommandText);
ConditionalExitStyle(writer, subCommandStyle);
if ((String) Device[XhtmlConstants.BreaksOnInlineElements] != "true") {
writer.Write(" ]");
}
ConditionalExitStyle(writer, subCommandStyleNoItalic);
ConditionalRenderClosingDivElement(writer);
}
示例2: RenderPostBackEventAsAnchor
// For Style/CssClass args, see ASURT 144034
/// <include file='doc\XhtmlBasicControlAdapter.uex' path='docs/doc[@for="XhtmlControlAdapter.RenderPostBackEventAsAnchor2"]/*' />
protected virtual void RenderPostBackEventAsAnchor (
XhtmlMobileTextWriter writer,
String argument,
String linkText,
String accessKey,
Style style,
String cssClass) {
writer.WriteBeginTag("a");
writer.Write(" href=\"");
PageAdapter.RenderUrlPostBackEvent(writer, Control.UniqueID /* target */, argument);
writer.Write("\" ");
if (accessKey != null && accessKey.Length > 0) {
writer.WriteAttribute("accesskey", accessKey);
}
if ((String)Device[XhtmlConstants.RequiresXhtmlCssSuppression] != "true") {
if (CssLocation != StyleSheetLocation.PhysicalFile) {
String className = writer.GetCssFormatClassName(style);
if (className != null) {
writer.WriteAttribute ("class", className);
}
}
else if (cssClass != null && cssClass.Length > 0) {
writer.WriteAttribute ("class", cssClass, true /* encode */);
}
}
writer.Write(">");
writer.WriteEncodedText(linkText);
writer.WriteEndTag("a");
}
示例3: RenderItemDetails
// Render the details view
/// <include file='doc\XhtmlBasicObjectListAdapter.uex' path='docs/doc[@for="XhtmlObjectListAdapter.RenderItemDetails"]/*' />
protected virtual void RenderItemDetails(XhtmlMobileTextWriter writer, ObjectListItem item) {
if (Control.AllFields.Count == 0) {
return;
}
if (!Device.Tables) {
RenderItemDetailsWithoutTableTags(writer, item);
return;
}
Style labelStyle = Control.LabelStyle;
Style subCommandStyle = Control.CommandStyle;
Style subCommandStyleNoItalic = (Style)subCommandStyle.Clone();
subCommandStyleNoItalic.Font.Italic = BooleanOption.False;
writer.ClearPendingBreak(); // we are writing a block level element in all cases.
ConditionalEnterLayout(writer, Style);
writer.WriteBeginTag ("table");
ConditionalRenderClassAttribute(writer);
writer.Write(">");
writer.Write("<tr><td colspan=\"2\">");
ConditionalEnterStyle(writer, labelStyle);
writer.WriteEncodedText (item[Control.LabelFieldIndex]);
ConditionalExitStyle(writer, labelStyle);
writer.WriteLine("</td></tr>");
Color foreColor = (Color)Style[Style.ForeColorKey, true];
RenderRule (writer, foreColor, 2);
RenderItemFieldsInDetailsView (writer, item);
RenderRule (writer, foreColor, 2);
ConditionalPopPhysicalCssClass(writer);
writer.WriteEndTag("table");
ConditionalExitLayout(writer, Style);
ConditionalEnterStyle(writer, subCommandStyleNoItalic);
writer.Write("[ ");
ObjectListCommandCollection commands = Control.Commands;
String cssClass = GetCustomAttributeValue(XhtmlConstants.CssClassCustomAttribute);
String subCommandClass = GetCustomAttributeValue(XhtmlConstants.CssCommandClassCustomAttribute);
if (subCommandClass == null || subCommandClass.Length == 0) {
subCommandClass = cssClass;
}
foreach (ObjectListCommand command in commands) {
RenderPostBackEventAsAnchor(writer, command.Name, command.Text, null /* accessKey */, subCommandStyle, subCommandClass);
writer.Write(" | ");
}
String controlBCT = Control.BackCommandText;
String backCommandText = (controlBCT == null || controlBCT.Length == 0) ?
GetDefaultLabel(BackLabel) :
controlBCT;
RenderPostBackEventAsAnchor(writer, BackToList, backCommandText, null /* accessKey */, subCommandStyle, subCommandClass);
writer.Write(" ]");
ConditionalExitStyle(writer, subCommandStyleNoItalic);
}
示例4: ConditionalRenderClosingDivElement
// Render closing </div> in case the stylesheet location has been specified as a physical file.
/// <include file='doc\XhtmlBasicControlAdapter.uex' path='docs/doc[@for="XhtmlControlAdapter.ConditionalRenderClosingDivElement"]/*' />
protected virtual void ConditionalRenderClosingDivElement(XhtmlMobileTextWriter writer) {
if ((String)Device[XhtmlConstants.RequiresXhtmlCssSuppression] == "true") {
return;
}
String classAttribute = (String) Control.CustomAttributes[XhtmlConstants.CssClassCustomAttribute];
if (CssLocation == StyleSheetLocation.PhysicalFile) {
writer.WriteLine();
if ((String)Device["usePOverDiv"] == "true") {
writer.WriteEndTag("p");
}
else {
writer.WriteEndTag("div");
}
writer.WriteLine();
ConditionalPopPhysicalCssClass(writer);
}
}
示例5: RenderClosingListTag
/// <include file='doc\XhtmlBasicControlAdapter.uex' path='docs/doc[@for="XhtmlControlAdapter.RenderClosingListTag"]/*' />
protected virtual void RenderClosingListTag(XhtmlMobileTextWriter writer, String tagName) {
if (CssLocation == StyleSheetLocation.PhysicalFile && (String)Device[XhtmlConstants.RequiresXhtmlCssSuppression] != "true") {
writer.WriteEndTag(tagName);
ConditionalPopPhysicalCssClass(writer);
}
else if ((String)Device[XhtmlConstants.RequiresXhtmlCssSuppression] != "true") {
writer.ExitStyle(Style);
}
else {
writer.WriteEndTag(tagName);
}
}
示例6: RenderSelectElement
void RenderSelectElement (XhtmlMobileTextWriter writer) {
if ((String)Device["supportsSelectFollowingTable"] == "false" && writer.CachedEndTag == "table") {
writer.Write(" ");
}
ConditionalEnterStyle(writer, Style);
writer.WriteBeginTag ("select");
if (Control.SelectType == ListSelectType.MultiSelectListBox) {
writer.WriteAttribute ("multiple", "multiple");
}
if (Control.SelectType == ListSelectType.ListBox || Control.SelectType == ListSelectType.MultiSelectListBox) {
writer.WriteAttribute ("size", Control.Rows.ToString(CultureInfo.InvariantCulture));
}
writer.WriteAttribute ("name", Control.UniqueID);
ConditionalRenderClassAttribute(writer);
writer.Write (">");
for (int itemIndex = 0; itemIndex < Control.Items.Count; itemIndex++) {
MobileListItem item = Control.Items[itemIndex];
writer.WriteBeginTag ("option");
WriteItemValueAttribute (writer, itemIndex, item.Value);
if (item.Selected && (Control.IsMultiSelect || itemIndex == Control.SelectedIndex)) {
writer.Write (" selected=\"selected\">");
}
else {
writer.Write (">");
}
writer.WriteEncodedText (item.Text);
writer.WriteLine ("</option>");
}
ConditionalSetPendingBreak(writer);
writer.WriteEndTag ("select");
writer.WriteLine ();
ConditionalPopPhysicalCssClass(writer);
ConditionalExitStyle(writer, Style);
}
示例7: ConditionalRenderClosingSpanElement
// Render closing </span> in case the stylesheet location has been specified as a physical file.
/// <include file='doc\XhtmlBasicControlAdapter.uex' path='docs/doc[@for="XhtmlControlAdapter.ConditionalRenderClosingSpanElement"]/*' />
protected virtual void ConditionalRenderClosingSpanElement(XhtmlMobileTextWriter writer) {
String classAttribute = (String) Control.CustomAttributes[XhtmlConstants.CssClassCustomAttribute];
if (_physicalSpanClassOpen) {
Debug.Assert(_physicalCssClassPushed, "_physicalSpanClassOpen implies _physicalCssClassPushed");
writer.WriteEndTag("span");
writer.WriteLine();
ConditionalPopPhysicalCssClass(writer); // resets _physicalCssClassPushed
_physicalSpanClassOpen = false;
}
}
示例8: ConditionalExitPagerSpan
private void ConditionalExitPagerSpan(XhtmlMobileTextWriter writer) {
if (_pagerCssSpanWritten) {
writer.WriteEndTag("span");
}
}
示例9: Render
/// <include file='doc\XhtmlBasicFormAdapter.uex' path='docs/doc[@for="XhtmlFormAdapter.Render"]/*' />
public override void Render (XhtmlMobileTextWriter writer) {
// Note: <head>, <body> rendered by page adapter, as in HTML case.
String formsAuthCookieName = FormsAuthentication.FormsCookieName;
if(!Device.SupportsRedirectWithCookie)
{
if(formsAuthCookieName != null && formsAuthCookieName.Length > 0)
{
HttpContext.Current.Response.Cookies.Remove(formsAuthCookieName);
}
}
writer.WriteBeginTag ("form");
writer.WriteAttribute ("id", Control.ClientID);
writer.WriteAttribute ("method", Control.Method.ToString().ToLower(CultureInfo.CurrentCulture));
writer.Write (" action=\"");
RenderPostbackUrl(writer);
if(Control.Action.Length > 0) {
if(Control.Action.IndexOf("?", StringComparison.Ordinal) != -1) {
writer.Write("&");
}
else {
writer.Write("?");
}
}
else {
writer.Write("?");
}
writer.Write(Page.UniqueFilePathSuffix);
if (Control.Method != FormMethod.Get &&
Control.Action.Length == 0) { // VSWhidbey 411176: We don't include QueryStringText if Action is explicitly set
String queryStringText = PreprocessQueryString(Page.QueryStringText);
if (queryStringText != null && queryStringText.Length > 0) {
String amp = (String)Device[XhtmlConstants.SupportsUrlAttributeEncoding] != "false" ? "&" : "&";
writer.Write(amp);
if((String)Device[XhtmlConstants.SupportsUrlAttributeEncoding] != "false") {
writer.WriteEncodedText(queryStringText);
}
else {
writer.Write(queryStringText);
}
}
}
writer.WriteLine ("\">");
bool needDivStyle = (String)Device[XhtmlConstants.RequiresXhtmlCssSuppression] != "true" &&
(String)Device["supportsBodyClassAttribute"] == "false";
if (!needDivStyle) {
if((String)Device["usePOverDiv"] == "true")
writer.WriteFullBeginTag("p");
else
writer.WriteFullBeginTag ("div");
}
else {
if((String)Device["usePOverDiv"] == "true")
writer.EnterStyle(Style, "p");
else
writer.EnterStyle (Style, "div");
}
RenderPostBackHeader (writer);
// Renders hidden variables for IPostBackDataHandlers which are
// not displayed due to pagination or secondary UI.
RenderOffPageVariables(writer, Control, Control.CurrentPage);
RenderChildren (writer);
if (!needDivStyle) {
if((String)Device["usePOverDiv"] == "true")
writer.WriteEndTag("p");
else
writer.WriteEndTag ("div");
}
else {
if((String)Device["usePOverDiv"] == "true")
writer.ExitStyle(Style);
else
writer.ExitStyle (Style);
}
writer.WriteEndTag ("form");
}
示例10: RenderClosingBodyElement
private void RenderClosingBodyElement(XhtmlMobileTextWriter writer) {
Style formStyle = ((ControlAdapter)Page.ActiveForm.Adapter).Style;
if (CssLocation == StyleSheetLocation.PhysicalFile) {
writer.WriteEndTag("body");
if (_pushedCssClassForBody) {
writer.PopPhysicalCssClass();
}
}
else if ((String)Device[XhtmlConstants.RequiresXhtmlCssSuppression] != "true" &&
(String)Device[XhtmlConstants.SupportsBodyClassAttribute] != "false") {
writer.ExitStyle(formStyle); // writes the closing body element.
}
else {
writer.WriteEndTag ("body");
}
}
示例11: CloseSecondaryUIDivs
private void CloseSecondaryUIDivs(XhtmlMobileTextWriter writer) {
for (int i = 0; i < _secondaryUIDivsOpened; i++) {
if((String)Device["usePOverDiv"] == "true") {
writer.WriteEndTag("p");
}
else {
writer.WriteEndTag("div");
}
writer.WriteLine();
}
}
示例12: Render
/// <include file='doc\XhtmlBasicPageAdapter.uex' path='docs/doc[@for="XhtmlPageAdapter.Render"]/*' />
public override void Render (XhtmlMobileTextWriter writer) {
writer.BeginResponse ();
if (Page.Request.Browser["requiresPragmaNoCacheHeader"] == "true") {
Page.Response.AppendHeader("Pragma", "no-cache");
}
InitWriterState(writer);
writer.BeginCachedRendering ();
// For consistency with HTML, we render the form style with body tag.
RenderOpeningBodyElement(writer);
// Certain WML 2.0 devices require that we write an onevent onenterforward setvar snippet.
// We cannot know the relevant variables until after the form is rendered, so we mark this
// position. The setvar elements will be inserted into the cached rendering here.
writer.MarkWmlOnEventLocation ();
Page.ActiveForm.RenderControl(writer);
RenderClosingBodyElement(writer);
writer.ClearPendingBreak ();
writer.EndCachedRendering ();
// Note: first and third arguments are not used.
writer.BeginFile (Page.Request.Url.ToString (), Page.Device.PreferredRenderingMime, Page.Response.Charset);
String supportsXmlDeclaration = Device["supportsXmlDeclaration"];
// Invariant culture not needed, included for best practices compliance.
if (supportsXmlDeclaration == null ||
!String.Equals(supportsXmlDeclaration, "false", StringComparison.OrdinalIgnoreCase)) {
writer.WriteXmlDeclaration ();
}
writer.WriteDoctypeDeclaration(DocumentType);
// Review: Hard coded xmlns.
writer.WriteFullBeginTag ("html xmlns=\"http://www.w3.org/1999/xhtml\"");
writer.WriteLine ();
writer.WriteFullBeginTag ("head");
writer.WriteLine ();
writer.WriteFullBeginTag ("title");
if (Page.ActiveForm.Title != null) {
writer.WriteEncodedText(Page.ActiveForm.Title);
}
writer.WriteEndTag ("title");
ConditionalRenderLinkElement (writer);
ConditionalRenderStyleElement (writer);
writer.WriteEndTag ("head");
writer.WriteLine ();
writer.WriteCachedMarkup (); // includes body tag.
writer.WriteLine ();
writer.WriteEndTag ("html");
writer.EndFile ();
if (!DoesDeviceRequireCssSuppression()) {
if (CssLocation == StyleSheetLocation.ApplicationCache && !writer.IsStyleSheetEmpty()) {
// Recall that Page.Cache has application scope
Page.Cache.Insert(writer.CacheKey, writer.GetStyles (), null, DateTime.MaxValue, _cacheExpirationTime);
}
else if (CssLocation == StyleSheetLocation.SessionState && !writer.IsStyleSheetEmpty()) {
Page.Session[writer.SessionKey] = writer.GetStyles();
}
}
writer.EndResponse ();
}
示例13: ConditionalRenderStyleElement
private void ConditionalRenderStyleElement (XhtmlMobileTextWriter writer) {
if (!writer.IsStyleSheetEmpty () && CssLocation == StyleSheetLocation.Internal) {
bool requiresComments = (String)Device["requiresCommentInStyleElement"] == "true";
writer.WriteLine();
writer.WriteBeginTag("style");
writer.Write(" type=\"text/css\">");
writer.WriteLine();
if (requiresComments) {
writer.WriteLine("<!--");
}
writer.Write(writer.GetStyles());
if (requiresComments) {
writer.WriteLine("-->");
}
writer.WriteEndTag("style");
writer.WriteLine();
}
}
示例14: Render
/// <include file='doc\XhtmlBasicPhoneCallAdapter.uex' path='docs/doc[@for="XhtmlPhoneCallAdapter.Render"]/*' />
public override void Render(XhtmlMobileTextWriter writer)
{
ConditionalClearPendingBreak(writer);
Style style = Style;
StyleFilter filter = writer.CurrentStyleClass.GetFilter(style);
if ((filter & XhtmlConstants.Layout) != 0) {
ConditionalEnterLayout(writer, style);
}
if (Device.CanInitiateVoiceCall) {
String text = Control.Text;
String phoneNumber = Control.PhoneNumber;
if (text == null || text.Length == 0) {
text = phoneNumber;
}
writer.WriteBeginTag("a");
if ((String)Device["supportsWtai"] == "true") {
writer.Write(" href=\"wtai://wp/mc;");
}
else {
writer.Write(" href=\"tel:");
}
foreach (char ch in phoneNumber) {
if (ch >= '0' && ch <= '9' || ch == '#' || ch == '+') {
writer.Write(ch);
}
}
writer.Write("\"");
ConditionalRenderCustomAttribute(writer, XhtmlConstants.AccessKeyCustomAttribute);
String cssClass = GetCustomAttributeValue(XhtmlConstants.CssClassCustomAttribute);
if (CssLocation != StyleSheetLocation.PhysicalFile) {
String className = writer.GetCssFormatClassName(style);
if (className != null) {
writer.WriteAttribute ("class", className);
}
}
else if (cssClass != null && cssClass.Length > 0) {
writer.WriteAttribute ("class", cssClass, true /* encode */);
}
writer.Write(">");
writer.WriteEncodedText(text);
writer.WriteEndTag("a");
ConditionalSetPendingBreakAfterInline(writer);
}
else {
// Format the text string based on properties
String text = String.Format(
CultureInfo.CurrentCulture,
Control.AlternateFormat,
Control.Text,
Control.PhoneNumber);
String url = Control.AlternateUrl;
// If URI specified, create a link. Otherwise, only text is displayed.
if (url != null && url.Length > 0) {
String cssClass = GetCustomAttributeValue(XhtmlConstants.CssClassCustomAttribute);
String accessKey = GetCustomAttributeValue(XhtmlConstants.AccessKeyCustomAttribute);
RenderBeginLink(writer, url, accessKey, style, cssClass);
writer.WriteEncodedText(text);
RenderEndLink(writer);
ConditionalSetPendingBreakAfterInline(writer);
}
else {
writer.WritePendingBreak();
ConditionalEnterFormat(writer, style);
ConditionalRenderOpeningSpanElement(writer);
writer.WriteEncodedText(text);
ConditionalRenderClosingSpanElement(writer);
ConditionalExitFormat(writer, style);
ConditionalSetPendingBreak(writer);
}
}
if ((filter & XhtmlConstants.Layout) != 0) {
ConditionalExitLayout(writer, style);
}
}
示例15: RenderItemsListWithoutTableTags
private void RenderItemsListWithoutTableTags(XhtmlMobileTextWriter writer)
{
if (Control.VisibleItemCount == 0) {
return;
}
ConditionalRenderOpeningDivElement(writer);
int startIndex = Control.FirstVisibleItemIndex;
int pageSize = Control.VisibleItemCount;
ObjectListItemCollection items = Control.Items;
IObjectListFieldCollection allFields = Control.AllFields;
int count = allFields.Count;
int nextStartIndex = startIndex + pageSize;
int labelFieldIndex = Control.LabelFieldIndex;
Style style = this.Style;
Style labelStyle = Control.LabelStyle;
String cssClass = GetCustomAttributeValue(XhtmlConstants.CssClassCustomAttribute);
String labelClass = GetCustomAttributeValue(XhtmlConstants.CssLabelClassCustomAttribute);
if (labelClass == null || labelClass.Length == 0) {
labelClass = cssClass;
}
ConditionalEnterStyle(writer, labelStyle);
bool requiresLabelClassSpan = CssLocation == StyleSheetLocation.PhysicalFile && labelClass != null && labelClass.Length > 0;
if (requiresLabelClassSpan) {
writer.WriteBeginTag("span");
writer.WriteAttribute("class", labelClass, true);
writer.Write(">");
}
writer.Write(Control.AllFields[labelFieldIndex].Title);
writer.SetPendingBreak();
if (requiresLabelClassSpan) {
writer.WriteEndTag("span");
}
ConditionalExitStyle(writer, labelStyle);
writer.WritePendingBreak();
bool hasDefaultCommand = HasDefaultCommand();
bool onlyHasDefaultCommand = OnlyHasDefaultCommand();
bool requiresDetailsScreen = !onlyHasDefaultCommand && HasCommands();
// if there is > 1 visible field, need a details screen
for (int visibleFields = 0, i = 0; !requiresDetailsScreen && i < count; i++) {
visibleFields += allFields[i].Visible ? 1 : 0;
requiresDetailsScreen =
requiresDetailsScreen || visibleFields > 1;
}
bool itemRequiresHyperlink = requiresDetailsScreen || hasDefaultCommand;
bool itemRequiresMoreButton = requiresDetailsScreen && hasDefaultCommand;
Style subCommandStyle = Control.CommandStyle;
subCommandStyle.Alignment = style.Alignment;
subCommandStyle.Wrapping = style.Wrapping;
ConditionalEnterStyle(writer, style);
for (int i = startIndex; i < nextStartIndex; i++) {
ObjectListItem item = items[i];
String accessKey = GetCustomAttributeValue(item, XhtmlConstants.AccessKeyCustomAttribute);
String itemClass = GetCustomAttributeValue(item, XhtmlConstants.CssClassCustomAttribute);
if (itemRequiresHyperlink) {
RenderPostBackEventAsAnchor(writer,
hasDefaultCommand ?
item.Index.ToString(CultureInfo.InvariantCulture) :
String.Format(CultureInfo.InvariantCulture, ShowMoreFormat, item.Index),
item[labelFieldIndex], accessKey, Style, cssClass);
}
else {
bool requiresItemClassSpan = CssLocation == StyleSheetLocation.PhysicalFile && itemClass != null && itemClass.Length > 0;
if (requiresItemClassSpan) {
writer.WriteBeginTag("span");
writer.WriteAttribute("class", itemClass, true);
writer.Write(">");
}
writer.Write(item[labelFieldIndex]);
if (requiresItemClassSpan) {
writer.WriteEndTag("span");
}
}
if (itemRequiresMoreButton) {
String commandClass = GetCustomAttributeValue(XhtmlConstants.CssCommandClassCustomAttribute);
BooleanOption cachedItalic = subCommandStyle.Font.Italic;
subCommandStyle.Font.Italic = BooleanOption.False;
ConditionalEnterFormat(writer, subCommandStyle);
if ((String)Device[XhtmlConstants.BreaksOnInlineElements] != "true") {
writer.Write(" [");
}
ConditionalExitFormat(writer, subCommandStyle);
subCommandStyle.Font.Italic = cachedItalic;
ConditionalEnterFormat(writer, subCommandStyle);
String controlMT = Control.MoreText;
String moreText = (controlMT == null || controlMT.Length == 0) ?
GetDefaultLabel(MoreLabel) :
controlMT;
RenderPostBackEventAsAnchor(writer,
String.Format(CultureInfo.InvariantCulture, ShowMoreFormat, item.Index),
//.........这里部分代码省略.........