【问题标题】:Set the value of input text field from code behind C# Asp.net从 C# Asp.net 后面的代码中设置输入文本字段的值
【发布时间】:2017-12-22 20:41:24
【问题描述】:

我正在尝试从 C# 后面的代码中设置 html 输入字段文本值。这些输入创建的方式是通过 java 脚本循环。所以我没有太多运气在服务器上添加运行,或者通过

分配值

这是我的脚本

var mytable = "<table class=\"Inside\"  >";
var z = 0;
var value = 0;
for (var i = 1; i <= 3; i++) {
mytable += "<tr>";

for (var C1 = 1; C1 <= 3; C1++) {
    mytable += "<td>";

    mytable += "<table class=\"inside\"  >";
    for (var C2 = 1; C2 <= 3; C2++) {
        mytable += "<tr>";

        for (var j = 1; j <= 3; j++) {
            z++;
            //value = z.toString();
            //if (value % 3 != 0)  value= ;

            mytable += "<td> <input id=" + i + "x" + j + " name=" + z + "  
type=\"text\"  maxlength=\"1\" oninput=\"this.value=this.value.replace(/[^0-
9]/g,'');\"  value= " +z+ " runat=\"server\" /> </td>";


        }




        mytable += "</tr>";
    }


    mytable += "</tr></table>"; mytable += "</td>";}



mytable += "</tr>";
}


mytable += "</tr></table>";

$(document).ready(function () {
$("#myTable").append(mytable);


})

我正在尝试从 C# 访问输入,例如

protected void Button2_Click(object sender, EventArgs e)
    {

1x2.value="1";

}

【问题讨论】:

    标签: javascript c# jquery asp.net html


    【解决方案1】:

    如果你有Id,你可以在输入中使用。

    protected void Button1_Click(object sender, EventArgs e)
    {
        System.Text.StringBuilder sb = new System.Text.StringBuilder();
        sb.Append(@"<script language='javascript'>");
        sb.Append(@"$('#YOUR_IDINPUT').val('"+SomeValue+"');");
        sb.Append(@"</script>");
        ScriptManager.RegisterStartupScript(Button1,this.GetType(), "JSCR", 
        sb.ToString(),false);
    }
    

    对不起,如果我不能帮助你。

    【讨论】:

    • 谢谢米哈伊尔。那肯定会有所帮助。但是,我无法让它工作。几个答案可能会有所帮助。这是什么线 ScriptManager.RegisterStartupScript(Button1,this.GetType(), "JSCR", sb.ToString(),false);以及具体是什么JSCR。你能附加一个值吗?
    • 这是使用脚本的行。他注册了您的脚本并添加到您的页面。 “JSCR”脚本的简单键,你可以怎么调用。有了这个方法,你可以使用所有的javascript方法,打开或隐藏模式,使用一些引导进度条,图表。
    【解决方案2】:

    您只能使用 JavaScript 创建 HTML 控件。如果您希望向服务器发送一些数据,您可以使用 JavaScript 获取所需的值并将其分配给 ASP 控件(例如 HiddenField),然后在服务器端访问其值。

    var mytable = "<table class=\"Inside\"  >";
    var z = 0;
    var value = 0;
    for (var i = 1; i <= 3; i++) {
      mytable += "<tr>";
      for (var C1 = 1; C1 <= 3; C1++) {
        mytable += "<td>";
        mytable += "<table class=\"inside\"  >";
        for (var C2 = 1; C2 <= 3; C2++) {
          mytable += "<tr>";
          for (var j = 1; j <= 3; j++) {
            z++;
            //value = z.toString();
            //if (value % 3 != 0)  value= ;
    
            mytable += "<td> <input id=" + i + "x" + j + " name=" + z + " type=\"text\"  maxlength=\"1\" oninput=\"this.value=this.value.replace(/[^0-9]/g,'');\"  value= " + z + " /> </td>";
          }
          mytable += "</tr>";
        }
        mytable += "</tr></table>";
        mytable += "</td>";
      }
      mytable += "</tr>";
    }
    mytable += "</tr></table>";
    
    function CreateTable() {}
    
    $(document).ready(function() {
      $("#myTable").append(mytable);
    })
    
    function getInputValue(element) {
      $("#<%= HiddenField1.ClientID %>").val($("#1x2").val());
    }
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    
    <div id="myTable"></div>
    <asp:UpdatePanel ID="UpdatePanel1" runat="server">
        <ContentTemplate>
            <br />
            <asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" OnClientClick="getInputValue(this);" />
            <br />
            <br />
            <asp:Label ID="Label1" runat="server" Text="HiddenField Value:"></asp:Label>
            <asp:HiddenField ID="HiddenField1" runat="server" />
        </ContentTemplate>
    </asp:UpdatePanel>
    

    c# 代码隐藏

    protected void Button1_Click(object sender, EventArgs e)
    {
        Label1.Text += "<br />Input 1x2: " + HiddenField1.Value;
    }
    

    【讨论】:

    • 您好 Attila,感谢您的反馈。实际上,我可以使用 Request.Form["1x2"] 从后面的代码中轻松获取输入字段值。问题是如何从后面的代码中设置或更改那些输入字段值。我想更改它自己的输入字段的值,而不是复制它并更改它
    • @Adam Bahrani,恐怕您只能在客户端使用类似于我的示例的 JavaScript 执行此操作。当然还有很多其他方法,但同样只在客户端使用 JavaScript。
    猜你喜欢
    • 2016-07-06
    • 1970-01-01
    • 2011-08-31
    • 2015-04-28
    • 1970-01-01
    • 2014-05-18
    • 1970-01-01
    • 1970-01-01
    • 2012-09-03
    相关资源
    最近更新 更多