谁能解释下这段代码为何会是这个结果?

<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
     <input type="text" name="TextBox1" />
    <asp:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click" />

 

  protected void Button1_Click(object sender, EventArgs e)
    {
        Response.Write(Request["TextBox1"].Count() + ".." + Request.Form.GetValues("TextBox1").Count());
    }

 

 

为什么前面的值一直在++,TEXTBOX中的值也变成,,, 为什么会这样?>


米琪卡哇伊
浏览 1161回答 2
2回答

慕虎7371278

这种情况正常。点击 button 按钮时,相当form提交,form中有 两个name为TextBox1的文本框,两个值都是空值,由于key相同,会用,分开于是Request["TextBox1"]=",";Request["TextBox1"].Count()是&nbsp; 值的字符个数,Count()是扩展方法。TEXTBOX中的值也变成,,,,是由于 Request 获取TextBox1的值是“,”,.net 由于viewstate或者其他内部机制维持服务器控件的值状态,而给服务器控件赋的值。

墨色风雨

Request["TextBox1"].Count(),这输出的是个数吗?
打开App,查看更多内容
随时随地看视频慕课网APP