2012-05-05 35 views
0

想知道是否可以在服務器標籤內的視圖中更新模型屬性,那麼是否有可能在用戶輸入輸入後在Java腳本函數內更新它們。我們可以更新MVC視圖中的模型屬性,無需回發或Ajax調用嗎? (ASP.Net MVC 3)

此代碼工作正常&在模型綁定的幫助下,我能夠在Dialog控制器中檢索下面的硬編碼信息。 「(在CallingModalDialogView2操作方法)

@Html.TextBoxFor(m => m.empname) 
@Html.TextBoxFor(m => m.salary, new { @class = "homeSearchBy" }) 

@{ MvcApp3.Models.employee emp = new MvcApp3.Models.employee(); 
    emp.empid = 12121;  //Hard coded some information 
    emp.empname = "Biki"; 
    emp.empid = 23; 
    emp.salary = 111111111; 
    } 


@Html.MyFramework().Button("ok", Url.Action("CallingModalDialogView2", "Dialog", emp), "title1", "OK") 

但是,當我試圖把一些信息在文本框中&它們分配給模特屬性,它不工作。我做得不對或本中不允許MVC

+0

我的意圖是更新模型&在下一個按鈕點擊傳遞更新的模型彈出(可能是部分頁面)沒有任何回發。一旦用戶在該頁面輸入更多的數據,最終的按鈕點擊應該做一個ajax發佈並傳遞用戶在主頁面輸入的所有信息以及彈出窗口。 – Biki

回答

3
您的問題

簡短的回答:沒有

剃刀代碼渲染服務器端,當你在瀏覽器服務器端操作請參見第成品

模型:

@Html.TextBoxFor(m => m.empname) 
@Html.TextBoxFor(m => m.salary, new { @class = "homeSearchBy" }) 

@Html.HiddenFor(m=> m.empid) 
@Html.HiddenFor(m=> m.empname) 
@Html.HiddenFor(m=> m.salary) 

或:

@Html.Hidden("empid", 1212) 
@Html.Hidden("empname", "Biki") 
@Html.Hidden("salary", 100000) 

則:

<input type="button" id="change-button" value="change" /> 

使用jQuery變化的數據是很容易的:

<script> 
$(function(){ 
    $("#change-button").click(function(){ 
    $("#empid").val(12); 
    $("#empname").val("Morteza"); 

    // submit form without ajax 
    $("form").submit(); 

    // submit form with ajax 
    $.ajax({ 
     url: "Address of your action methode", 
     type: "Post", // "Get" 
     date: $("form").serialize(), 
     success: function(){ 
     //... 
     } 
    });   
    }); 
}); 
</script> 

我使用在許多項目和做工精細這種解決方案爲了我!

+0

那麼這些信息如何在視圖本身中得到更新呢? @ {MvcApp3.Models.employee emp = new MvcApp3.Models.employee(); emp.empid = 12121; //硬編碼一些信息 emp.empname =「Biki」; emp.empid = 23; emp.salary = 111111111; } – Biki

+0

如果你想改變數據客戶端,你必須使用客戶端的元素,如。然後通過javascript或JQuery更改值。 – Morteza

+0

這就是我試過,但發現它無法更新我的模型。如果你嘗試過它並且工作正常,你可以發佈樣本嗎? – Biki

相關問題