2013-03-24 30 views
1

参数string Temat是空的,当我点击按钮的问题在哪里?它看起来好吗?JSON单击事件空参数

file.cshtml

@using (Html.BeginForm()) 
    { 
    <table class="edt" style="float: left; width: 600px; margin-top: 5px; background-color: white;"> 
    <tr> 
       <td class="labelm"> 
        @Html.LabelFor(m => m.Temat)<span id="Temat_2" class="a">*</span> 
       </td> 
       <td> 
        @Html.TextBoxFor(m => m.Temat, new { id = "Temat" }) 
       </td> 
    </tr> 
    </table> 
    <input type="button" value="save" onclick="Save();" /> 
    } 

<script type="text/javascript"> 

    function Save() { 
    var Temat = $('#Temat').val(); 

      $.ajax({ 
       url: '@Url.Action("DodajTematSave", "StronaGlowna")', 
       dataType: "json", 
       data: { Temat: Temat }, 
       type: "POST", 
       async: false, 
       error: function() { 
       }, 
       success: function(data) { 
        if (data.Success) { 
         alert('success'); 
        } 

       } 
      }); 
     } 

</script> 

JSON方法控制器:

public JsonResult DodajTematSave(string Temat) 
{ 
    var model = new StronaGlowna(); 
    if (!TryUpdateModel(model) || !ModelState.IsValid) // podładowanie yield 
    { 
    } 
    string chceSprobowac = Temat; 
    return Json(new { Success = true}); 
} 

回答

2

我想你要检索的文本框的值。如果是这样,将ID'Temat'分配给文本框,而不是跨度和你的代码应该工作正常。

但是,如果你有兴趣的检索范围的文本,然后使用

var Temat = $('#Temat').text(); 

如果你想给ID为文本框,

@Html.TextBoxFor(model => model.Password, new { id = "Temat" }) 
+0

我放弃了问题的测试,因为@ Html.LabelFor(m => m.Temat)和@ Html.TextBoxFor(m => m.Temat,new {size = 47})已经得到了类似的ID,我是如何改变它为其中之一? – 2013-03-24 10:58:15

+0

值在文本框中是空的,但我不知道为什么在我得到“*”之前,这是来自span的文本,但我需要从文本框中获取文本。 – 2013-03-24 11:01:06

+0

只需将ID'Temat'分配给文本框并将其从跨度中删除即可。你的代码应该能正常工作。 – 2013-03-24 11:05:19