繁体   English   中英

ASP.NET MVC和WebForms使用两个按钮

[英]asp.net mvc and webforms use two button

我的问题是我正在尝试对MVC WebForms进行操作

page name = addition.aspx 
event = button1_click
int numberOne = convert.toint32(textbox1.text);
int numberTwo = convert.toint32(textbox2.text);
int myResult = numberOne + numberTwo;
label1.text = myResult.Tostring();

page name = addition.aspx (same page) 
event = button2_click
int numberthree = convert.toint32(textbox3.text);
int numberfour = convert.toint32(textbox4.text);
int myResult2 = numberOne + numberTwo;
label2.text = myResult2.Tostring();

我的问题是我想对MVC做同样的事情(事件在哪里...我想我必须在页面发布和页面获取上进行转换...我错了)

您没有用于MVC的服务器端控件。 如果要让两个按钮触发不同的事件,则有两个选项。 默认情况下,JQuery包含在您的MVC项目中,并且非常流行。 因此,我将向您展示一些示例。

创建两个提交按钮以在提交之前切换表单操作。

使用jquery的示例:

的HTML

<form action="">
   <input type="submit" id="first" value="first" />
   <input type="submit" id="second" value="second" />
</form>

JS

$(function(){
    // on document ready wire up click events  

    // handle click event for first button
    $('#first').on('click', function(){
         $('form').prop('action', 'PostActionOne'); // set the action on the form to handle first button post
    });
    // handle click event for second button
    $('#second').on('click', function(){
         $('form').prop('action', 'PostActionTwo'); // set the action on the form to handle second button post
    });
});

另外一个选项:

将两个按钮与单击事件一起使用,该事件将执行ajax请求来处理该方案。

的HTML

JS

$(function(){
    // on document ready wire up click events  
    $('#first').on('click', function(){
          $.ajax({
             type: 'POST',
             url: 'PostActionOne,
             data: data,
             success: success,
             dataType: dataType
         });
    });

    $('#second').on('click', function(){
          $.ajax({
             type: 'POST',
             url: 'PostActionTwo,
             data: data,
             success: success,
             dataType: dataType
         });
    });
});

ASP.NET WebPages确实可以提供更好的事件驱动的编程(可以说),但是它不能在客户端运行。 因此,无论您是否要使用WebForms或MVC,是否要对位于浏览器网页上的按钮的click事件进行操作,都可以使用javascript,jquery和ajax进行触发,因此不必重新加载整个页面每一次。

同样在mvc中,您有一个名为

@Ajax.ActionLink("linkname", "Action", "etc");

可以让您快速工作,只需阅读有关内容即可。 http://msdn.microsoft.com/zh-cn/library/system.web.mvc.ajax.ajaxextensions.actionlink%28v=vs.108%29.aspx

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM