Request.form返回空

问题描述 投票:0回答:3

我有用于注册用户的这段代码:

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;[email protected]</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>
c# html asp.net
3个回答
1
投票

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


0
投票

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


0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.