2016-02-04 49 views
0

我是新的MVC,並試圖創建一個網站。連接按鈕從視圖到MVC中的控制器功能

我的主要問題是,我需要在點擊視圖上的按鈕後激活我的控制器中的功能。

這是我在按鈕的視圖代碼:

<input type="button" value="Add Star and Role and Categories" onclick="CreateCategoriesID"/> 

在從列表中創建幾個複選框的屏幕,這是他們的代碼:

@foreach (Movies.Models.Category cat in lst) 
{ 
    @Html.CheckBox(cat.ID.ToString()); 
    @Html.Label(cat.Name); 
    <br /> 
} 

每個複選框看起來像這樣:

<input name="5" type="checkbox" value="true"> 

只有他們的名字是不同的。

在我的控制器功能,我需要看到的是點擊該複選框,我想這樣:

public void CreateCategoriesID(object sender, EventArgs args) 
{ 
    string catID = ""; 

    List<Category> lst = entities.Category.ToList(); 

    foreach (Category cat in lst) 
    { 
     Request[cat.ID.ToString()].ToString(); 
    } 
} 

這是按鈕應激活該功能。

該列表等同於複選框列表。

是從屏幕獲取元素的方式嗎?

如何檢查複選框是否被點擊?

如何將視圖中的按鈕連接到控制器中的功能?

預先感謝您!

+0

'對象發件人,EventArgs args' ??你確定*這是MVC而不是Web窗體? – David

+0

'onclick =「CreateCategoriesID」'在你的視圖中調用一個javascript函數。沒有服務器方法。你顯示的服務器方法是WebForms代碼,而不是MVC。你需要一個表單,你需要生成基於你的模型的控件(使用'foreach'循環不會這樣做),你需要將它發佈到一個控制器方法。建議您轉到MVC網站並通過教程學習基礎知識。 –

回答

1

你已經混合了webforms和MVC。

此:

public void CreateCategoriesID(object sender, EventArgs args) 

應該像

public void CreateCategoriesID(SomeModel model) 
{ 
    // read categories from model, the model may be the categories themselves or a property of it dependent on your data structrue. 
} 

(凡形式sumbits爲{控制器}/CreateCategoriesID)

對於如何綁定到複選框列表 -

相關問題