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

标签 javascript c# html asp.net

我是这个世界的新手。让我用照片来给你解释一下。 enter image description here

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

  1. Asp.net 控件(红色)

  2. Html 控件(绿色)

这个用户控件,我已经在另一个名为Index.aspx的页面上实现了

enter image description here

我想要做的是,每当我单击“复制按钮”按钮时,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"];

    }

但是我没有在变量street中获得任何值

最佳答案

如果您有这样的 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 control = (UserControl)Page.FindControl("UserControlId");
string street = control.StreetName;

关于javascript - 将值从 HTML 控件复制到 ASP.NET 用户控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46970720/

相关文章:

javascript - 隐藏单击链接时打开的 div?

c# - .Net Bing Map SOAP 服务限制

c# - ActiveX DLL 锁定主 UI 线程

html - 无法设置 ionic 按钮栏的高度

html - CSS - 绝对内固定,滚动溢出和 100% 高度

JavaScript函数只打开一个offcanva菜单

javascript - 如何从javascript在mongodb中传递内部查询

javascript - 在 Chrome 中跟踪事件传播的最佳方法是什么?

C# 大型 JSON 转字符串导致内存不足异常

html - 为什么 DIV 标签在 IE8 和 Firefox 中呈现不同?