我有MVC 4應用程序。這裏是:
1. Model HashKey - 包含1個字符串鍵
2.模型ModelObjectA - 我的傳輸對象。
3. A類 - 根據請求生成唯一鍵,並將其與給定的ModelObjectA一起放入TempData中,並返回此唯一鍵。
4.控制器ControllerModelObjectA - 充當純控制器。
5.查看ShowAllModelObjectA - 查看頁面以顯示來自控制器的集合。MVC 4按鈕onClick即調用剃鬚刀功能
這是如何工作的。我有請求導航到ShowAllModelObjectA。控制器使用要傳輸的對象調用類A並將唯一鍵發送到ShowAllModelObjectA。該視圖調用方法來獲取(不是HttpGET)與從控制器接收到的密鑰對應的對象。這個對象的集合被接收,並且在@foreach循環中反彙編對象並把它們放在一個表中。與表中的對象一起還有3個按鈕,代表不同的功能(查看詳細信息,編輯,刪除)到相應的對象。
問題: 在每個object`s按鈕,我不得不使用@functions調用ClassA和發送的對象本身,而是僅在點擊後沒有對循環。
下面是一些代碼(我修改了名字:))
@functions{
public string ButtonClicked(ModelObjectA object)
{
System.Diagnostics.Debug.WriteLine("in");// to check when the method is called
return "dae";
}
}
The foreach loop:
<table>
@foreach (ModelObjectA Object in ModelObjectACollection)
{
<tr>
<td>
@Html.DisplayFor(modelItem => Object.Name)
</td>
<td>
@Html.DisplayFor(modelItem => Object.Email)
</td>
<td>
<button type="button" id="details" value="@Object" onclick="hello(value);">Details</button>
<button type="button" value="@Object">Edit</button>
<button type="button" value="@Object">Delete</button>
</td>
</tr>
}
</table>
<script type="text/javascript">
function hello(Value) {
alert("Clicked");
}
</script>
因爲現在我有機會獲得@ModelObjectA,但我不能將其發送到剃鬚刀的功能,因爲Java是在客戶端和剃刀在服務器上。
有沒有另一種方法來做到這一點?
編輯: 這裏是rentered按鈕:
<td>
<button type="button" id="details" value="(Project path).ModelObjectA" onclick="hello(value);">Details</button>
<button type="button" value="(Project path).ModelObjectA">Edit</button>
<button type="button" value="(Project path).ModelObjectA">Delete</button>
</td>
編輯2:我不知道我需要使用履行這一要求。我很樂意提供建議。
但是你的觀點獲得服務器端準備,您可以在您的視圖javascpit。傳遞給你的hello()函數的價值是什麼? –
請問您可以考慮爲您的問題提供不同的標題嗎? 「MVC 4個問題」太模糊了,不利於其他人從答案中獲益。 –