【问题标题】:How to access data from html controls in asp.net如何从asp.net中的html控件访问数据
【发布时间】:2009-04-18 19:43:42
【问题描述】:

如何从 .cs(代码隐藏)文件中的 asp.net 中的 html 访问数据?

在 .aspx 页面中我有:

             <tr>
                <td>Username:</td><td><input id="username" type="text" /></td>
             </tr>
             <tr>
                <td>Password:</td><td><input id="password" type="password" /></td>
             </tr>
             <tr>

我知道我可以将其转换为:

    <tr>
        <td>Username:</td><td><asp:TextBox ID="username" TextMode="SingleLine" runat="server"></asp:TextBox></td>
     </tr>
     <tr>
        <td>Password:</td><td><asp:TextBox ID="password" TextMode="Password" runat=server></asp:TextBox></td>
     </tr>

这将允许我通过 ID 访问控件。 但是我想知道是否有一种方法可以在不使用 asp.net 服务器端控件的情况下访问数据。

【问题讨论】:

    标签: asp.net html controls server-side


    【解决方案1】:

    为输入指定名称和 ID,您将能够从 Request.Form 获取值。没有名称的输入不会与表单 post 一起发回。

    <input id="username" name="username" type="text" />
    <input id="password" name="password" type="password" />
    
    
    var username = Request.Form["username"];
    var password = Request.Form["password"];
    

    【讨论】:

      【解决方案2】:

      runat="server" 添加到控件中,然后您就可以从代码隐藏中访问它们,就像它们是&lt;asp:______ /&gt; 控件一样。

      【讨论】:

        【解决方案3】:

        ASP.NET 控件本质上是封装的 HTML 控件,因此asp:Button 将呈现为input Html 控件。 由于尺寸较小,一些 Web 开发人员更喜欢使用 Html 控件。 因此,每个 HTML 控件都将映射到一个 asp 服务器控件。 和之前的回答一样,Joel 中添加了runat="server",那么后面代码中的ID 就可以引用控件了。

        【讨论】:

          【解决方案4】:

          这是你的代码:

          <tr>
              <td>Username:</td>
              <td><input id="username" type="text" /></td>
          </tr>
          <tr>
              <td>Password:</td>
              <td><input id="password" type="password" /></td>
          </tr>
          

          您可以将runat="server" 属性添加到 Html 控件:

          <tr>
              <td>Username:</td>
              <td><input id="username" runat="server" type="text" />  <!--NOTE THE RUNAT="SERVER"--></td>
          </tr>
          <tr>
              <td>Password:</td>
              <td><input id="password" **runat="server"** type="password" /></td>
          </tr>
          

          现在您可以访问 asp.net 中的控件了。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2013-11-09
            • 1970-01-01
            • 2013-01-19
            • 2012-02-04
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多