我正在尝试从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";
}
答案 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);
}
对不起,如果我帮不了你。