Asp.net mvc ASP.NET MVC在单击按钮时的操作

Asp.net mvc ASP.NET MVC在单击按钮时的操作,asp.net-mvc,asp.net-mvc-3,Asp.net Mvc,Asp.net Mvc 3,我想在点击按钮时采取一些行动 代码如下所示---> 0){%> 我有一些功能要做,但是如何将这些按钮链接到这些控件?每个按钮都可以有一个单独的表单: <ul> <% foreach(var Movie in Model) { %> <li> <%: Movie.Id %> <%: Movie.Title %> <%: Movie.ReleaseD

我想在点击按钮时采取一些行动 代码如下所示--->

0){%>

我有一些功能要做,但是如何将这些按钮链接到这些控件?

每个按钮都可以有一个单独的表单:

<ul>
    <% foreach(var Movie in Model) { %> 
    <li> 
        <%: Movie.Id %>  
        <%: Movie.Title %>  
        <%: Movie.ReleaseDate %> 
        <%= Html.BeginForm("EditMovie", "Movies", new { id = Movie.Id }, FormMethod.Post) { %>
            <input type="submit" value="edit" name="edit" /> 
        <% } %>
        <%= Html.BeginForm("DeleteMovie", "Movies", new { id = Movie.Id }, FormMethod.Post) { %>
            <input type="submit" value="delete" name="delete" /> 
        <% } %>
    </li> 
    <% } %>
</ul>
除了使用表单,您还可以使用AJAX:

<ul>
    <% foreach(var Movie in Model) { %> 
    <li> 
        <%: Movie.Id %>  
        <%: Movie.Title %>  
        <%: Movie.ReleaseDate %> 

        <%= Ajax.ActionLink(
            "edit", 
            "EditMovie", 
            "Movies", 
            new { id = Movie.Id }, 
            new AjaxOptions { HttpMethod = "POST" }
        ) %>

        <%= Ajax.ActionLink(
            "delete", 
            "DeleteMovie", 
            "Movies", 
            new { id = Movie.Id }, 
            new AjaxOptions { HttpMethod = "POST" }
        ) %>
    </li> 
    <% } %>
</ul>

如果您决定使用
ajax.ActionLink
帮助程序,请不要忘记在页面中包含
jquery
jquery.unobtrusive ajax.js
脚本。

最简单的方法?类似于以下内容:

<% if(Model!=null && Model.Count>0){%>
<ul>
    <% foreach(var Movie in Model) { %> 
        <li>
            <%= Movie.Id %>  
            <%= Movie.Title %>  
            <%= Movie.ReleaseDate %> 
            <% using (Html.BeginForm("EditMovie")) { %>
                <%: Html.Hidden("Id", Movie.Id) %>
                <input type="submit" value="edit" name="edit" /> 
                <input type="submit" value="delete" name="delete" /> 
            <% } %>
        </li> 
    <% } %>
</ul>
<% } %>

用于连接处理程序的jQuery类似于

    $(document).ready(function(){
    $('input[type="button"]').on('click', function(e){
        // etc
    });
});
foreach{
...
编辑
...
}
@节脚本{
$(文档).ready(函数(){
$(“编辑按钮”)。单击(函数(){
var id=this.id.split(“”)[0];
location.href='@Url.Action(“EditMovie”,new RouteValueDictionary(){{{“Controller”,“Movie”}})?id='+id;
});
});
}

您可以使用一个与每个按钮关联的表单,其中一些操作指向控制器操作,或者您可以使用ajax calluse
javascript
jquery
在单击按钮时执行一些操作。
<% if(Model!=null && Model.Count>0){%>
<ul>
    <% foreach(var Movie in Model) { %> 
        <li>
            <%= Movie.Id %>  
            <%= Movie.Title %>  
            <%= Movie.ReleaseDate %> 
            <% using (Html.BeginForm("EditMovie")) { %>
                <%: Html.Hidden("Id", Movie.Id) %>
                <input type="submit" value="edit" name="edit" /> 
                <input type="submit" value="delete" name="delete" /> 
            <% } %>
        </li> 
    <% } %>
</ul>
<% } %>
public ActionResult EditMovie(int Id, string edit, string delete)
{
    if (delete != null)
    {
        // delete 
    }

    if (edit != null)
    {
        // edit
    }

    return View();
}
    $(document).ready(function(){
    $('input[type="button"]').on('click', function(e){
        // etc
    });
});
You can handle form action with Jquery.

$(document).ready(function(){
    $('.button-edit').on('click', function(e){
        $('#formMovie').attr('action','/edit/'+ someParameter)
    });
    $('.button-delete').on('click', function(e){
        $('#formMovie').attr('action','/edit/' + someParameter)
    });
});
    foreach {
...
        <button type="button" class="btn btn-default editButton" id="movie_@Movie.Id">Edit</button>
...
    }

@section Scripts {
    <script type="text/javascript">
    $(document).ready(function () {
        $("editButton").click(function () {
            var id = this.id.split("_")[0];
            location.href = '@Url.Action("EditMovie", new RouteValueDictionary() { { "Controller", "Movie" } } )?id=' + id;
        });
    });
    </script>
}