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 callusejavascript
或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>
}