2016-02-04 98 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)

对于如何绑定到复选框列表 -

相关问题