gpt4 book ai didi

asp.net - 使用母版页时,如何将特定 NAME 分配给标签?

转载 作者:行者123 更新时间:2023-12-03 17:21:06 27 4
gpt4 key购买 nike

我正在使用母版页,并且我正在使用 Google Checkout 期望的名称在表单上动态添加隐藏的文本框。

<input name="item_name_1" type="hidden" value="Widget #1"/>

使用VB.NET,我执行以下代码
'Name
Dim hidName As New HtmlInputHidden
hidName.ID = "item_name_" & count.ToString
hidName.Value = item
Form.Controls.Add(hidName)

但是因为我使用母版页,控件被重命名为“ctl00$item_name_1”。
<input name="ctl00$item_name_1" type="hidden" id="ctl00_item_name_1" 

请注意,我尝试设置 Name 属性 (hidName.Name = "item_name_"& count.ToString) 并尝试将名称添加到 Attributes 列表。奇怪的是,这对 name 属性没有任何影响。当我不使用母版页时,我注意到当我设置 ID 属性时,NAME 会自动分配相同的值。

使用母版页时,有没有办法控制动态添加的控件的名称?

最佳答案

System.Web.UI.WebControls.Control有一个名为 ClientIDMode 的属性.
而不是 HtmlInputHidden ,您可以使用 HiddenField .

 'Name
Dim hidName As New System.Web.UI.WebControls.HiddenField
hidName.ID = "item_name_" & count.ToString
hidName.ClientIDMode = System.Web.UI.ClientIDMode.Static
hidName.Value = item
Form.Controls.Add(hidName)

Making text box hidden in ASP.NETHiddenField Class .
ClientIDMode是在 .Net Framework 4.0 中引入的。
对于早期版本,另一种方法是添加 asp:Literal .
 'Name
Dim hidName As New System.Web.UI.WebControls.Literal
hidName.Text = _
String.Format("<input name=""item_name_{0}"" type=""hidden"" value=""{1}""/>", _
count, item)
Form.Controls.Add(hidName)

关于asp.net - 使用母版页时,如何将特定 NAME 分配给标签?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2353972/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com