2013-03-16 67 views
1

上午所有,張貼到數據庫需要更新,以顯示 - WebMatrix的/剃鬚刀

我創建了一個頁面,以顯示我的輸入字段數據庫的內容,並已設定,讓這些可以修改和調回到數據庫。 我所做的工作很不錯,因爲它確實將數據保存到數據庫中,但我需要刷新頁面才能看到這些更改。我想我可以使用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> 
+0

表單可以使用jQuery AJAX提交併使用來自服務器的響應數據來操作頁面。也可以使用AJAX加載表單並讓服務器根據url參數填充它需要關於表單提交後需要發生什麼的更多細節。 – charlietfl 2013-03-16 11:44:47

+0

我不熟悉這個,但是你不能在運行'db.Execute(updateuserdetails,Request [「FirstName」],Request後運行'var quserdetails = db.QuerySingle(userdetails,CurrentUser) [「LastName」],請求[「TelNumber」]);'內部'if(IsPost)'?看起來它會再次感染數據。 – 2013-03-16 11:52:21

回答

1

使用Ajax提交,它會用ajax發佈形式。所以,頁面將不會得到刷新

下載文件

  1. jquery.ajax.form.js
  2. jquery.validate.js

一起的jquery.js

$('#form1').validate({ 
     submitHandler: function(form) { 

      var options = { 
       url:$('#form1').attr('action'), 
       success:function(response){ 
        data = $.parseJSON(response); 

       } 
      }; 
      $("form#form1").ajaxSubmit(options); 
      return false; 
     } 
    }); 
+0

謝謝Kautil,但是它在哪裏指定了什麼輸入被髮送到哪個數據庫列? – Gavin5511 2013-03-16 15:55:17

+0

正如您在正常提交中獲取$ _POST中的所有數據一樣,您將以$ _POST的形式獲取所有表單數據 – Kautil 2013-04-11 07:04:52