从C#Asp.net后面的代码设置输入文本字段的值

时间:2017-12-22 20:41:24

标签: javascript c# jquery asp.net html5

我正在尝试从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";

}

2 个答案:

答案 0 :(得分:0)

您只能使用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;
}

答案 1 :(得分:0)

如果您有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);
}

对不起,如果我帮不了你。

相关问题