[英]ASP.NET MVC 2 - How can I get the selected value from a drop down into my view model?
[英]MVC - Can I set a model attribute in the view and get the value form a script?
這是返回上述視圖的Controller:
public PartialViewResult Day()
{
Day model = new Day();
return PartialView("_Day", model);
}
[HttpPost]
public PartialViewResult Day(Day model)
{
return PartialView("_Day", model);
}
閱讀此問題后,我同時編寫了Get和Post方法。 請注意,我尚未在Controller中設置模型。
然后我有自己的看法:
@model Timing.Models.Day
@{
Timing.Models.Day d = new Timing.Models.Day();
d.UserId = "some value";
}
這段代碼運行良好:當我去檢索或顯示d.UserId
我得到了正確的值。
此外,我在同一視圖中有一個腳本。
<script>
function getUserId() {
//some code that gets a string
return userId;
}
</script>
而且此腳本也可以正常工作。
我正在尋找解決方案,這是我所能找到的最好的解決方案:
@{
Timing.Models.Day d = new Timing.Models.Day();
d.UserId = Page.ClientScript.RegisterStartupScript(this.GetType(), "Getuser", "getUserId()", true);
}
但是由於某些null
而無法正常工作(盡管我無法理解什么是空值)。
有辦法解決這個問題嗎?
對於那些問的人,我使用腳本是因為我要設置的值是html元素之一(這是我的相關問題)。
謝謝!
在JavaScript中聲明您想要的變量
@{
var useridForjs = model.property // access model and set useridForjs
}
在javascript中使用
<script>
function getUserId() {
//some code that gets a string
var myserversidevarvalue = '@useridForjs'; // here myserversidevarvalue will store value..
return userId;
}
</script>
讓自己輕松一點,並將您的ID注入到一個隱藏的表單字段中,可以很容易地通過javascript獲取。 將此添加到您的視圖:
Html.HiddenFor(model.userId)
然后像這樣訪問它:
function getUserId() {
return $('#userId').val();
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.