带有一个文本框和两个按钮的webform

时间:2011-07-14 23:59:40

标签: asp.net-mvc webforms uiviewcontroller

如何将两个按钮发布到同一文本框的不同操作?

例如:我有两个按钮“Get Student(xls)”和“Get Student(pdf)”,我想触发不同的ActioResult方法。我只能触发一个启动excel的方法,即:“/ Student / StudentExcel /”启动pdf的第二种方法是:“/ Student / StudentPdf /".

以下是表单的截图:

enter image description here

以下是我的视图页面代码:

<%@ Page language="c#" AutoEventWireup="true" %>
<%@ Import NameSpace="System.IO" %>
<%@ Import NameSpace="System" %>
<%@ Import NameSpace="System.Data" %>
<%@ Import NameSpace="System.Web" %>
<%@ Import NameSpace="System.Text" %>
<%@ Import Namespace="STUDENT.Controllers" %>


<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Get Student File</title>
</head>
<body>

    <div>

    <form method="post" action="/Student/StudentExcel/">
    <label for="id">Student Number: </label>
    <input type="text" name="id" value="" />
    <br /><br />
    <input type="submit" value="GetStudent(xls)"/>  &nbsp;&nbsp
    <input type="submit" value="Get Student(pdf)" /> 
    </form>
    </div>

1 个答案:

答案 0 :(得分:1)

  

如何将两个按钮发布到同一文本框的不同操作?

如果没有javascript和纯HTML,你就无法做到这一点。

让我建议您一个替代方案:您可以使用两个具有不同名称的提交按钮提交到相同的控制器操作,并且在此控制器操作中,您可以检索单击的提交按钮的名称并相应地执行操作。

<form method="post" action="/Student/Dispatch/">
    <label for="id">Student Number: </label>
    <input type="text" name="id" value="" />
    <br /><br />

    <input type="submit" value="Get Student(xls)" name="xls" />  
    &nbsp;&nbsp
    <input type="submit" value="Get Student(pdf)" name="pdf" /> 
</form>

并在Dispatch行动中:

[HttpPost]
public ActionResult Dispatch(string pdf, string id)
{
    if (!string.IsNullOrEmpty(pdf))
    {
        // The GetPdf submit button was clicked
        return StudentPdf(id);
    } 

    // The GetXls submit button was clicked
    return StudentExcel(id);
}