如何将两个按钮发布到同一文本框的不同操作?
例如:我有两个按钮“Get Student(xls)”和“Get Student(pdf)”,我想触发不同的ActioResult方法。我只能触发一个启动excel的方法,即:“/ Student / StudentExcel /”启动pdf的第二种方法是:“/ Student / StudentPdf /".
以下是表单的截图:
以下是我的视图页面代码:
<%@ 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)"/>  
<input type="submit" value="Get Student(pdf)" />
</form>
</div>
答案 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" />
 
<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);
}