0

ユーザーをサインアップするための次のコードがあります。

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>
4

3 に答える 3

1

<form runat="server">入力をラップする要素が必要だと思います。

于 2013-05-22T17:52:40.293 に答える
0

どうやら、runat="server" 属性を持つ入力を使用する場合、cs コードからのアクセス方法が異なります。

于 2013-05-22T18:05:26.297 に答える