2011-07-14 72 views
0

我怎麼能有兩個按鈕張貼到不同的操作爲同一文本框內?網頁表單與一個文本框和兩個按鈕

爲如:我有兩個按鈕,「讓學生(XLS)」和「獲取學生(PDF)」我想觸發不同ActioResult方法。我只能觸發一個方法啓動Excel的,那就是:「/學生/ StudentExcel /」下水PDF第二種方法是:「/學生/ 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

我怎麼能有兩個按鈕,發佈到不同的行動相同的文本框?

你離不開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> 

和調度動作裏面:

[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); 
} 
相關問題