0
我也搜索了其他类似的问题,其中大部分都与jscript有关。我有足够的时间努力学习C#,希望有答案。我似乎总是接近答案,只是发现我遇到了另一个隐藏的例外。我试图做的是解决一些必须存在的更优雅的方式,但这里是:我有一个复选框,当选中时,将Label1文本更改为“1”,并且未选中将Label1文本更改为“0” 。当单击页面上的按钮时,它将数据字段发送到存储过程。即使我可以看到标签值是1或0,发送到SP函数总是会为Label1发送'NULL',我假设它是空白标签的默认值。那么点击按钮时,如何让页面读取标签的当前值?获取标签文本值的当前值
<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-/W3C//DTD/ XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1-transitional.dtd">
<script runat="server">
public void InsertCard (object source, EventArgs e)
{
SqlDataSource1.Insert();
}
public void CheckBox1_CheckChanged (object source, EventArgs e)
{
Response.Write("");
if (CheckBox1.Checked == true)
{
Label1.Text = "1";
}
else
{
Label1.Text = "0";
}
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<asp:sqldatasource
id="SqlDataSource1"
runat="server"
connectionstring="<%$ ConnectionStrings:DevTestConnectionString %>"
insertcommand="AddMember" InsertCommandType="StoredProcedure">
<insertparameters>
<asp:FormParameter Name="CardNumber" formfield="CardNumberBox" Type="int32" />
<asp:FormParameter Name="NameFirst" formfield="NameBox" Type="String" />
<asp:FormParameter Name="Valid" formfield="Label1" Type="string" />
</insertparameters>
</asp:sqldatasource>
<div>
<asp:Label ID="Label1" runat="server"></asp:Label>
<hr />
Last Name:<asp:TextBox id="NameBox" runat="server" Width="150px"></asp:TextBox>
<br>
Card Number:<asp:textbox id="CardNumberBox" runat="server" />
<br>
<asp:CheckBox ID="CheckBox1" runat="server" Text=" Valid" OnCheckedChanged="CheckBox1_CheckChanged" AutoPostBack="true" />
<br>
<asp:button id="Button1" runat="server" text="Add Card" onclick="InsertCard" />
</div>
</form>
</body>
</html>
我认为你想改变的代码,并把它放到'CheckBox1_CheckStateChanged'事件也'按钮Clicks'引发什么是知道的'PostBacks'所以你可以处理这几种不同的方式,'的JavaScript, HiddenField,会话变量....等'我也会移动事件代码'