请求[“inputId”]无法在cshtml上运行

时间:2012-12-28 14:09:55

标签: razor

我有一个网站,里面有一个表格。 我应该从表单中获取值,将它们放在数据库中。 我目前正在使用razorCMS作为我的网站的简单框架和WEBMATRIX作为编辑器(我可以使用VS2010,但我想在webmatrix中这样做)。 这是我的表格:

<form method="post" action="" class="custom">
            <fieldset title="TITLE">
                <legend>TITLE!</legend>

                <div class="five columns">
                    <input type="text" placeholder="Pseudonimi" id="txtPseudo" value=""></input></div>
                <div class="columns">
                    <select style="display: none;" id="jmSex">
                        <option selected>Don't know/option>
                        <option>M</option>
                        <option>F</option>
                    </select>                        
                </div>
                <div class="columns">
                    <select style="display: none;" id="jmCat">
                        <option selected>1</option>
                        <option>2</option>
                        <option>3</option>                            
                    </select>                        
                </div>
                <textarea id="jmNewText" rows="6" > </textarea>
                <input class="radius button" id="btnAdd" type="Submit" title="Send" name="Dergo"
                    value="Send" style="float: right;" />
            </fieldset>
            </form>

提交表单后,我想使用REQUEST获取值,我实际上没有得到任何值。我总是得到空变量。我还尝试使用带有document.getelementbyid()的JavaScript来获取变量,我显示为null。 这是我提交的代码:

if (IsPost)
    {
     var pseudo = Request["txtPseudo"]; // THIS VALUE SHOWS NULL
     var content = Request["jmTextNew"];
     var kategori = Request["jmCat"];
     var sex = Request["jmSex"];   

     var db = Database.Open("razorC");
     var nextId = db.Execute("select max(id)+1 from rc_jm");
     var sqlNew = "Insert INTO rc_Jm (pseudo, id, content, creation_date, kategori, sex) "
                    + "values (@0, @4 , @1, GETDATE(), @2, @3)";
     db.Execute(sqlNew, pseudo, content, kategori, sex, nextId);

    }

1 个答案:

答案 0 :(得分:1)

发送到服务器的输入值由name属性标识,而不是id属性。

因此,您需要为您的输入提供name才能从Request

获取这些输入

所以

<input type="text" id="txtPseudo" value="">

应该是

<input type="text" id="txtPseudo" name="txtPseudo" value="">