【发布时间】:2013-03-16 11:31:13
【问题描述】:
早上好,
我创建了一个页面来在输入字段中显示我的数据库的内容,并进行了设置,以便可以修改这些内容并将其发布回数据库。 我所做的工作非常好,因为它确实将内容保存回数据库,但我需要刷新页面才能看到这些更改。我想我可以使用 jquery 来做到这一点,但我需要指出正确的方向。我目前尝试将当前页面作为操作 href。
这是我当前的代码:
@{
Layout = "~/_template1.cshtml";
var db = Database.Open("mydatabase");
var CurrentUser = WebSecurity.CurrentUserId;
var userdetails = ("SELECT * from UserProfile WHERE UserId='8'");
var quserdetails = db.QuerySingle(userdetails, CurrentUser);
if (IsPost){
var updateuserdetails = "UPDATE UserProfile SET FirstName = @0, LastName = @1, TelNumber = @2 WHERE UserID='8'";
db.Execute(updateuserdetails, Request["FirstName"], Request["LastName"], Request["TelNumber"]);
}
}
<h1>My Details</h1>
<hr>
<form method="post" action="~/Account/MyDetails.cshtml">
<fieldset>
<label>First Name</label>
<input class="input-xlarge" type="text" name="FirstName" placeholder=".input-xlarge" value="@quserdetails.FirstName">
<br>
<label>Last Name</label>
<input class="input-xlarge" type="text" name="LastName" placeholder=".input-xlarge" value="@quserdetails.LastName">
<br>
<label>Telephone Number</label>
<input class="input-xlarge" type="text" name="TelNumber" placeholder=".input-xlarge" value="@quserdetails.TelNumber">
<br>
<button type="submit" class="btn btn-success">Update</button>
<button type="submit" class="btn btn-success">Cancel</button>
</fieldset>
</form>
【问题讨论】:
-
可以使用 jQuery AJAX 提交表单,并使用来自服务器的响应数据来操作页面。还可以使用 AJAX 加载表单并让服务器根据 url 参数填充它需要更多关于表单提交后需要发生什么的细节。
-
我对此并不熟悉,但你不能在
if(IsPost)中运行db.Execute(updateuserdetails, Request["FirstName"], Request["LastName"], Request["TelNumber"]);后再次运行var quserdetails = db.QuerySingle(userdetails, CurrentUser);吗?看起来它会再次影响数据。
标签: jquery sql sql-server razor webmatrix