获取标签文本值的当前值

时间:2015-02-06 14:10:58

标签: c# stored-procedures

我确实搜索过其他类似的问题,其中大部分与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> 

1 个答案:

答案 0 :(得分:0)

为何使用标签?直接使用复选框并将表列上的数据类型设置为bit。将标签更换为以下内容。

 <asp:ControlParameter ControlID="CheckBox1" Name="Valid"   PropertyName="Checked" Type="Boolean"/>