【发布时间】:2011-03-03 21:48:30
【问题描述】:
我动态地将 HTML 和标签添加到 Page。 但是在每次发布后,所有值都是空的。 我能为 Solve 做些什么?
【问题讨论】:
-
你能给出一个HTML/代码示例吗?
-
代码很长。 HTML 代码的一部分: string HTMLCode = ""; //文字在Page中。 lit.Text = HTMLCode;
我动态地将 HTML 和标签添加到 Page。 但是在每次发布后,所有值都是空的。 我能为 Solve 做些什么?
【问题讨论】:
确保您添加到页面的控件具有 ID,并且在回发后 ID 相同。
【讨论】:
您必须在页面的 Init 事件中创建控件,在 Page_Load 中创建控件不会保留 viewstat,因为根据控件生命周期,控件必须在加载事件之前创建,并且在加载之前,控件会检索其 viewstat 信息。创建一个新事件 Page_Init(确保在 Page 标记的第一行中写入 Init="Page_Init")。并在此事件中创建您的控件。
【讨论】:
如果您希望在这种情况下在回发后保留这些值,请使用 Request.Forms[key]
您将在此处获得键值对。您必须以某些固定格式准备输入,例如名称属性首先出现,然后是值等。然后如您所知,您可以将值放回 Page_load 中归档。用户正则表达式用模式替换字符串。
string UpdatedText = Label25.Text;
foreach (string key in Request.Form.AllKeys)
{
if (key.ToLower().StartsWith("recomandedspec_"))
{
string keyvalue = Request.Form[key];
// this uses regular expression to replace input string with postback values
UpdatedText = PreFillItem.FillTextBox(UpdatedText, keyvalue, key);
}
}
Label25.Text = UpdatedText;
【讨论】: