2011-07-14 28 views
0

同じテキストボックスに対して異なるアクションに2つのボタンを投稿するにはどうすればよいですか?1つのテキストボックスと2つのボタンを持つWebフォーム

例:私は「Get Student(xls)」と「Get Student(pdf)」の2つのボタンがあり、異なるActioResultメソッドをトリガーしたい。私は、 "/ Student/StudentExcel /"を起動するための1つの方法を起動することができます。 "/ Student/StudentPdf /"は、pdfを起動するための2番目の方法です。ここで

は、フォームのための私のスクリーンショットです:ここでは

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なしでは、この操作を行うことはできません。

別の方法を提案してください。同じコントローラアクションに送信する異なる名前の2つの送信ボタンを使用できます。このコントローラアクションでは、クリックされた送信ボタンの名前を取得してそれに応じて処理できます。

<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); 
} 
関連する問題