[英]Copy value from HTML controls to ASP.NET user control
这是第一张照片,我有一个名为“ Adress.ascx”的用户控件,此页面上有2种不同类型的控件。
ASP.NET控件(红色)
HTML控件(绿色)
我已经在另一个名为Index.aspx的页面上实现了此用户控件
我想做的是,每当我单击按钮“复制按钮”时,html控件中的任何内容都会复制到用户控件中。
在HTML控件上,我正在使用Google Maps API搜索地址。
即使没有将用户控件实现到另一个页面,也无法将html控件的值复制到asp.net用户控件。
例如,我在用户控件上有一个名为tbStreet的 asp:TextBox和一个ID为id = street_name的 HTML文本框。 我想将street_name的值复制到tbStreet 。
ASP.NET控制代码
<asp:TextBox ID="tbStreet" runat="server" MaxLength="50"
CssClass="inputfield M"></asp:TextBox></td>
HTML控制码
<input class="field" id="street_name" name="streetName"
disabled="true"></input></td>
按钮代码
protected void btnCopy_Click(object sender, EventArgs e)
{
string street = Request.Form["street_name"];
}
但是我在可变街道上没有任何价值
如果您有这样的HTML输入:
<input class="field" id="street_name" name="streetName" />
您应该将name
属性值设置为Request.Form
参数而不是id
:
protected void btnCopy_Click(object sender, EventArgs e)
{
string street = Request.Form["streetName"].ToString();
}
请注意, disabled
属性会阻止值在回发中提交,如果您只想禁止用户编辑其值,建议删除该属性并将其替换为readonly
:
<input class="field" id="street_name" name="streetName" readonly="readonly" />
如果文本框属于用户控件,则可以创建一个属性以从中获取文本值,假设输入元素具有runat="server"
属性:
public string StreetName
{
get { return street_name.Text; }
}
然后,您可以使用以下命令访问usercontrol对象的属性:
UserControl control = (UserControl)Page.FindControl("UserControlId");
string street = control.StreetName;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.