我正在尝试保留用户在以下“下拉菜单”中选择的值:
<form method="post">
<p><label for="ProjectManager">Project Manager:</label>
<select name="ProjectManager">
<option value="" selected>Select...</option>
<option selected=@(Request["ProjectManager"] == "One") value="One">One</option>
<option selected=@(Request["ProjectManager"] == "Two") value="Two">Two</option>
<option selected=@(Request["ProjectManager"] == "Three") value="Three">Three</option>
<option selected=@(Request["ProjectManager"] == "Four") value="Four">Four</option>
<option selected=@(Request["ProjectManager"] == "Five") value="Five">Five</option>
<option selected=@(Request["ProjectManager"] == "Six") value="Six">Six</option>
</select>
</p>
<p><input type="submit" name="ButtonConfirm" value="Confirm" /></p>
</form>
仅供您参考,以下是数据库在后台发生的情况:
@{
var ProjectManager = "";
if(IsPost){
ProjectManager = Request.Form["ProjectManager"];
db = Database.Open("ControlPoints");
var InsertCommand = "INSERT INTO ControlPointName ([Project_Manager]) VALUES(@0)";
db.Execute(InsertCommand, ProjectManager);
}
}
我的代码工作正常,它只是不记得所选的值。正如你所看到的,到目前为止,我一直试图实现selected=@(Request["ProjectManager"] == "One")
而没有运气。我在这里做错了什么?
提前致谢。
更新
在以下链接http://forums.asp.net/t/1899268.aspx?Remembering+Dropdown+Box+selection+in+WebMatrix中,解决了一个非常类似的问题。区别在于表单方法是'get'而不是'post',就像我的情况一样。
答案 0 :(得分:0)
您的第一个选项selected
已硬编码。删除它。
答案 1 :(得分:0)
我明白了。这是最奇怪的事情,在我的一条评论中,我有以下内容<!--The user's input.....-->
我从'
一词中删除了user's
后,所有内容都按需运行。