【问题标题】:How to add <%= %> tag in code-behind如何在代码隐藏中添加 <%= %> 标记
【发布时间】:2013-03-27 07:29:05
【问题描述】:

我在代码隐藏中创建了一些输入控件(文本)作为动态 RadiobuttonLists 的一部分(以便文本框位于每个单选按钮旁边):

RadioButtonList radioOption = new RadioButtonList();

radiobuttonlist.Items.Add(new ListItem(dt.Rows[i][9].ToString() + " <input id=\"" + name + "\" runat=\"server\" type=\"text\" value=\"Enter text\" />")

所有控件都在 UpdatePanel 中。

如何更新我后面代码中的输入标签,以便我可以将值变成这样:

value="<%= this.InputValue %>" /> 

原因是我可以访问/设置 Page_Load 中的值(在回发时,输入文本会消失):

    protected void Page_Load(object sender, EventArgs e) 
{ 
    if (!Page.IsPostBack) 
    { 
        this.InputValue = "something"; 
    } 
} 

有什么想法吗?

谢谢!!!

【问题讨论】:

  • 您可以直接在后面的代码中访问该值。无需使用
  • 我应该更新我的问题 - 我这样做的原因是因为每次回发时,输入文本都会消失。我正在尝试将用户输入文本绑定到输入控件。

标签: c# javascript asp.net user-controls tags


【解决方案1】:

该值总是消失,因为您没有在回发中保留数据。我什至没有这个

""

会以您认为的方式呈现。 标签由服务器呈现,而不是浏览器。相反,使用视图状态或会话在回发中保留值。如果您需要帮助,请发布更多控件的代码以及您遇到的问题

【讨论】:

  • 谢谢杰森。非常感谢。
【解决方案2】:

我认为您遇到了ASP.NET Page Life Cycle 的问题。

当您将控件动态添加到页面的控件集合时,您需要在正确的时间设置它们。从上面链接的文档中:

在启动阶段完成后和初始化之前引发 阶段开始。

将此事件用于以下情况:
...

  • 创建或重新创建动态控件。

...

这样您就可以使用正常的 ASP.NET 视图状态来跨 PostBacks 持久化信息。

如果您在 Page_PreInit 事件期间创建动态 RadioButtonLists,我想您的大部分问题都会得到解决。

protected void Page_PreInit(Object sender, EventArgs e)
{
    RadioButtonList radioOption = new RadioButtonList();
    radiobuttonlist.Items.Add(new ListItem(dt.Rows[i][9].ToString() + " <input id=\"" + name + "\" runat=\"server\" type=\"text\" value=\"Enter text\" />")
}

【讨论】:

  • 嗨 jadarnel - 所有动态控件都是在 OnInit 函数中创建的,而不是在 Page_Load 中创建的。我所有的用户控件,例如。表,单选按钮列表,复选框因此保留了它们的值,除了输入控件(它是单选按钮列表的一部分)......因此我的问题......有什么想法吗?
【解决方案3】:

我建议您在后面的代码中使用UpdatePanel.Update method,以便使用新值更新您的内容

注意:您的字段 InputValue 必须在 UpdatePanel 部分中,以便刷新

链接:http://msdn.microsoft.com/fr-fr/library/system.web.ui.updatepanel.update.aspx

【讨论】:

  • 您好 Frederique,我已经在使用 UpdatePanel 来包含我的所有动态控件。我所有的用户控件,例如表格、复选框、单选按钮列表、文本框因此保留了它们的值。但是,我的输入控件(它是单选按钮列表的一部分)是唯一没有保留值的控件。这就是我的问题。有什么想法吗?
猜你喜欢
  • 2013-10-06
  • 2011-08-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-04-06
  • 2011-01-19
  • 1970-01-01
相关资源
最近更新 更多