2016-09-22 89 views
0

我正在使用MVC在这个网站上工作,我想为我的用户提供两个按钮,将用户重定向到同一控制器上的两种不同的操作方法 这里是我的代码视图如何通过点击不同的按钮重定向到不同的actionmethods

@using (Html.BeginForm()) 
    { 
     <div class="box-body"> 
      <div class="row"> 
       <div class="form-group"> 

        <div class="input-group col-md-3 col-md-push-3"> 
         @Html.DropDownList("HotelName", ViewBag.HotelName as SelectList, htmlAttributes: new { @class = "form-control" }) 
         @Html.ValidationMessageFor(model => model.HotelAvailability.Hotel.HotelName, "", new { @class = "text-danger" }) 
        </div> 
       </div> 
      </div> 
      <div class="row"> 
       <div class="col-md-12"> 
        <div class="input-group col-md-3 col-md-push-3 "> 
         <input type="text" name="BookingDate" class="form-control input-sm" placeholder="Enter Booking Date in dd/MM/yyyy format"> 
        </div> 
       </div> 
      </div> 

      <div class="box-footer"> 
       <div class="col-md-3 col-md-push-3"> 

        <button type="submit" value="Submit" class="btn btn-block btn-success" @Url.Action("ReportPdf", "Books")> Preview Report</button> 
        <button type="submit" value="Submit" class="btn btn-block btn-success" @Url.Action("GeneratePDF", "Books")> Export to PDF</button> 

       </div> 

      </div> 


     </div> 
    } 

当我按下这些按钮我想用用户在输入字段中填充的值来操作方法。

+0

可以使用formaction属性HTML5 <按钮类型= “提交” formaction = “ReportPdf” > ReportPdf –

回答

0

将Url.Action放在按钮上不起作用。无论如何,你甚至没有把它放在属性中,所以它没有意义。这是表单标签的action属性,用于控制发布到的位置。你可以这样做:

a)添加一个隐藏字段,并使用javascript来填充隐藏字段的值,这些字段对于服务器端发布时有意义,取决于按下哪个按钮(或者可能有一个按钮,但有一个单选按钮字段,因此用户可以选择是否要预览或导出)。然后服务器将决定是否重定向到预览或导出操作并返回适当的数据。

b)将按钮更改为客户端按钮(而不是“提交”按钮)。将所需的URL正确放入每个按钮的属性中。在javascript中处理按钮点击事件,从按钮属性中获取URL,将其设置为表单的“action”属性,然后使用javascript提交表单,然后将表单提交给正确的操作。

0

可以使用formaction属性HTML5

例如

<button type="submit" formaction="Controller/action">ReportPdf</button> 
<button type="submit" formaction="Controller/action">GeneratePDF</button> 

你的情况

<button type="submit" formaction="ReportPdf">ReportPdf</button> 
<button type="submit" formaction="GeneratePDF">GeneratePDF</button> 
相关问题