c# - 将 HTML 文本输入(无运行服务器)的值从用户控件传递到代码隐藏

标签 c# asp.net user-controls

我疯狂地尝试将 HTML 文本输入的值(不带 runat="server")从用户控件发送到后面的代码。我得到一个空字符串,没有错误。步骤如下:

  • 用户单击 ID="name_btn"的 ImageButton。

  • 该值必须传递给后面的代码。我正在测试是否使用页面加载(if (IsPostBack))和按钮单击功能传递了该值,但两者仍然没有值。

  • 请注意,由于某些其他原因,我不希望文本输入在服务器上运行,因此我不想添加 runat="server"。请问有什么帮助吗?

    用户控制页面(name.ascx)

    <input type="text" ID="name" />
    <asp:ImageButton runat="server" ID="name_btn" OnClick="name_Click" ImageUrl="~/icon-ok.png" />
    

    用户控制 - 代码隐藏(name.ascx.cs)

    public string nameBox;
    protected void Page_Load(object sender, EventArgs e)
        {
            if (IsPostBack)
            {
                nameBox = Request.Form["name"];
                Response.Write("Name: " + nameBox);
            }
        }
    
    protected void name_Click(object sender, EventArgs e)
        {
               nameBox = Request.Form["name"];
               Response.Write("Name: " + nameBox);
        }
    

    母版页

    <uc:name runat="server" ID="UCname" />  
    

    最佳答案

    我想这与您想要做的事情有些冲突。例如,在服务器上您使用 Request.Form[""] 来获取 html 输入元素,但您通过 id 属性请求它。 Request.Form 支持通过索引和名称查找元素。

    那么您是否尝试过向 html 输入元素添加 name=""?

    关于c# - 将 HTML 文本输入(无运行服务器)的值从用户控件传递到代码隐藏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29575629/

    相关文章:

    c# - 相关的 LINQ 查询优化

    C# 读取西里尔字母

    c# - 结合编码的 UI 测试 HTML 日志?

    c# - 添加到自定义 ActionLink 帮助程序扩展的 htmlAttributes

    c# - 用户操作后从用户控件返回值

    c# - 可以获取 DynamicObject 的链式值吗?

    c# - 在重定向时显示动画 gif 文件直到 asp 页面加载?

    asp.net - 我可以将 Entity Framework 与 ASP.NET 成员资格一起使用吗?

    php - 需要指导以开始使用 Zend ACL

    c# - 根据控件动态改变光标