0

我使用 jquery 的 tempate 来构建我的表。当用户单击我的表格的一个单元格时,我在此单元格上添加属性“名称”。

我想检索单击了哪个单元格以及使用哪个值,但我没有成功将我的值单元格检索到控制器 asp mvc 中。我使用 FormCollection 但我没有找到我的单元格 td 我也尝试了 request.form["cellTd"] 但它不起作用。在我的控制器中,单元格等于 null 并且表单不包含元素 cellTd。

谢谢你的帮助。

我的观点:

@using (Html.BeginForm("Action", "Test", FormMethod.Post ))
{
<div id="TableToFill"></div>
<button id="send" value="send" name="btn" type="submit">send</button>
}

我的模板:

<script id="TableTemplate" type="text/x-jquery-tmpl">
<table class="Table">
<tbody class="BodyTable"> 
    {{each list}}
    <tr class="Item">    
        <td description="Standard${Name}" >${this.Value}</td>
        {{if $index == 0}}
        <td ><input description="high${Name}" value="" type="text" /></td>
        {{/if}}
    </tr>    
    {{/each}}  
</tbody>
</table>       
</script>

我的代码 jquery

<script type="javascript">
$.getJSON("getTable", params, function (items) {
        $("#TableTemplate").tmpl(items).appendTo("#TableToFill");        
    });
    $(".Table tbody .Item td").click(function(){
    $(this).attr("name","cellTd");
    });
</script>

我的控制器

public class TestController : controller
{
    public ActionResult(FormCollection form)
    {
        String cell=Request.Form["cellTd"];
    }
}
4

1 回答 1

0

click您应该在以下事件中发送您的请求td

$(".Table tbody .Item td").click(function(){
    //you are setting the name to "CellTd"
    $(this).attr("name", "cellTd");

    var tdNameValue = $(this).attr("name"); //will always give "cellTd" as it is set above...

    //make your ajax request here
    $.ajax({
       url: 'urltocontroller',
       data: {tdName : tdNameValue},
       dataType: 'json',
       success: function(r) {
           //successcallback
       },
       type: 'POST'
    });
});

现在您可以在此处检索您的值:

public class TestController : controller
{
    public ActionResult(FormCollection form)
    {
        String cell=Request.Form["cellTd"];
    }
}
于 2012-04-16T13:35:05.697 回答