繁体   English   中英

将值从HTML控件复制到ASP.NET用户控件

[英]Copy value from HTML controls to ASP.NET user control

我是这个世界的新手。 让我用照片解释一下。 在此处输入图片说明

这是第一张照片,我有一个名为“ Adress.ascx”的用户控件,此页面上有2种不同类型的控件。

  1. ASP.NET控件(红色)

  2. 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;

请参阅文档-https://msdn.microsoft.com/zh-cn/library/ms525985( v= vs.90) .aspx

该元素是通过名称而不是ID引用的,因此:

string street = Request.Form["streetName"];

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM