MVC Razor需要找到选择的无线电选项

时间:2016-02-24 18:49:24

标签: c# asp.net-mvc-4

表格:

@Html.ActionLink("View Daily Details", "ViewDaily")
<div class="ca-form-layout">
                <table class="ca-index-table" style="margin:10px auto">
                    <tr class="ca-header-row">
                        <th class="ca-header-cell" style="width:60px"></th>
                        <th class="ca-header-cell" style="width:140px">Date</th>
                        <th class="ca-header-cell" style="width:140px">Payment Total</th>
                    </tr>
                    @foreach (var gr in groups)
                    {
                        <tr class="ca-table-row">
                            <td class="ca-table-cell" align="center">@Html.RadioButton("payDate", gr.Key.ToShortDateString())</td>
                            <td class="ca-table-cell" align="center">@Html.FormatValue(gr.Key, "{0:MM/dd/yyyy}")</td>
                            <td class="ca-table-cell" align="center">@Html.FormatValue(gr.Sum(p => p.PaymentAmount), "{0:C}")</td>
                        </tr>
                    }
                </table>
            </div>
        </div>

从我的控制器,如何从payDate radioButton获取值?我试图使用FormCollection [“payDate”],但没有通过这种方式获得任何价值。我知道必须有一些简单的答案,但我无法在任何地方找到它。

注意:如果我用以下代码替换radioButton:

@Html.ActionLink("View Daily Details", "ViewDaily", new { prmDate = gr.Key })

...页面工作得很好,所以任何值,路由或控制器都没有错...我只是无法通过直接在ActionLink中指定它来传递该值。还有3个其他按钮都需要在RadioButton上工作,所以我不能简单地用一个按钮替换它。

由于

1 个答案:

答案 0 :(得分:0)

此处没有实际的表单,因此没有任何内容将该值发送给服务器。

要创建包含表单元素的表单(例如单选按钮),您可以将其包装成以下内容:

import com.artofsolving.jodconverter.openoffice.connection.*;
import com.artofsolving.jodconverter.openoffice.converter.*;
import com.artofsolving.jodconverter.*;
import java.io.File;
public class PdfBox {
public static void main(String[] args) throws Exception{

    try {
        OpenOfficeConnection con=new SocketOpenOfficeConnection(8100);
        con.connect();
        File inputFile=new File("x.docx");
        File outputFile=new File("x.pdf");
        DocumentConverter converter=new OpenOfficeDocumentConverter(con);
        converter.convert(inputFile,outputFile);
        con.disconnect();
    } catch (Exception e) {
        System.out.println(e);
    }
} 
}

该表单范围中通常包含一个提交按钮,如:

@using (Html.BeginForm("ViewDaily", "SomeControllerName"))
{
    <!--- Your HTML goes here, including form elements --->
}

当然,您可以根据自己的喜好设计样式。如果您真的想要&#34;提交&#34;要成为一个链接,您需要编写一些JavaScript来将该请求(否则是GET)转换为表单POST。但只需使用提交按钮就会容易得多。

这会将您的表单包装在必需的@using (Html.BeginForm("ViewDaily", "SomeControllerName")) { <!--- Your HTML goes here, including form elements ---> <input type="submit" value="View Daily Details" /> } 标记中,以便浏览器知道将键/值对发送到服务器。