Request.form返回空

时间:2013-05-22 17:41:37

标签: c# html asp.net

我已经为注册用户提供了此代码:

public partial class signup : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        Response.Write(Request.Form["username"]+"SSS");
        Page.Validate();
        if (Request.Form["submit"] != null && Page.IsValid) {
            register1();
        }

    }

    public void register1()
    {

      string sql = "INSERT INTO [userinfo] ([username], [password], [email]) VALUES (N'" + Request.Form["username"] + "', N'" + Request.Form["password"] + "', N'" + Request.Form["email"] + "')";
      Response.Write(sql);
      Database.UpdateData(sql);
      //Response.Redirect("Default.aspx");
    }

它用空行填充我的数据库,我试过简单地打印Request.form并且它空出来了,我的名字是正确的,发生了什么?

这是html页面:

<div class="grid_6">
    <header class="grid_6 push_3 alpha">
        <h2>הרשמה
        </h2>
    </header>
    <!--   -->
    <div class="grid_6 push_3 block alpha">

        <div class="grid_6 form_block alpha  omega">
            <label>שם משתמש</label>
        </div>

        <div class="grid_6 form_block alpha  omega">
            <input type="text" id="username" name="username" required pattern="^\S{4,}$" runat="server"  />
            <span class="form_hint">שם משתמש צריך להכיל לפחות 4 תווים</span>
            <asp:RegularExpressionValidator ID="valUsername" ControlToValidate="username" ValidationExpression="^\S{4,}$"
                ValidationGroup="First" EnableClientScript="false" CssClass="form_hint" Style="display: inline;" ErrorMessage="שם משתמש צריך להכיל לפחות 4 תווים" runat="server" />
        </div>


        <div class="grid_6 alpha omega  form_block">
            <label>סיסמא</label>
        </div>



        <div class="grid_6 form_block alpha  omega">
            <input type="password" id="password" name="password" title="סיסמא צריכה להכיל לפחות 6 תווים" required pattern="^\S{6,}$" runat="server" />
            <span class="form_hint">סיסמא צריכה להכיל לפחות 6 תווים</span>
            <asp:RegularExpressionValidator ID="valPassword" ControlToValidate="password" ValidationExpression="^\S{6,}$"
                ValidationGroup="First" EnableClientScript="false" CssClass="form_hint" Style="display: inline;" ErrorMessage="סיסמא צריכה להכיל לפחות 6 תווים" runat="server" />
        </div>




        <div class="grid_6 alpha omega  form_block">
            <label>וודא סיסמא</label>
        </div>

        <div class="grid_6 form_block alpha  omega">
            <input type="password" id="password2" required pattern="^\S{6,}$" runat="server" /> 
            <span class="form_hint" id="pass2_hint">סיסמאות לא תואמות</span>
            <asp:CompareValidator ID="valPasswords"
                ControlToValidate="password" ControlToCompare="password2" Type="String"
                ValidationGroup="First" EnableClientScript="false"  CssClass="form_hint" Style="display:inline;" Text="סיסמאות לא תואמות"
                runat="server" />
        </div>


        <div class="grid_6 alpha omega  form_block">
            <label>כתובת אימייל</label>
        </div>

        <div class="grid_6 form_block alpha  omega">
            <input id="email" name="email" type="text" required pattern="[^@]+@[^@]+\.[a-zA-Z]{2,6}" runat="server"/>
            <span class="form_hint">התבנית התקינה לאימייל: &nbsp;test@test.com</span>
            <asp:RegularExpressionValidator ID="valEmail" ControlToValidate="email" ValidationExpression="[^@]+@[^@]+\.[a-zA-Z]{2,6}"
                ValidationGroup="First" EnableClientScript="false" CssClass="form_hint" Style="display:inline;" ErrorMessage="אימייל לא תקין" runat="server" />
        </div>





        <div class="grid_6 alpha omega  form_block">
            <label>וודא כתובת אימייל</label>
        </div>

        <div class="grid_6 form_block alpha  omega">
            <input id="email2" type="text" required pattern="[^@]+@[^@]+\.[a-zA-Z]{2,6}" runat="server"/>
            <span class="form_hint" id="email2_hint">כתובות אימייל לא תואמות</span>
            <asp:CompareValidator ID="valEmails"
                ControlToValidate="email" ControlToCompare="email2" Type="String"
                ValidationGroup="First" EnableClientScript="false"  CssClass="form_hint" Style="display:inline;" Text="כתובות אימייל לא תואמות"
                runat="server" />
        </div>

        <div class="grid_6 form_block alpha  omega">
            <input name="submit" type="submit" ValidationGroup="First" onclick="return validateForm()" value="שלח" />
        </div>

    </div>
</div>
<div class="grid_3 pull_6" id="ad">
</div>

3 个答案:

答案 0 :(得分:1)

我认为您需要一个包含输入的<form runat="server">元素。

答案 1 :(得分:1)

由于“接受”的答案未提供实际答案。这就是我为自己研究答案时对我有用的方法。

在ASP文本框中使用runat="server"时,请尝试:

request.form(name.uniqueID)

答案 2 :(得分:0)

没关系,问题解决了,显然当使用具有runat =“server”属性的输入时,来自cs代码的访问方法是不同的。