2012-05-02 49 views
1

我陷入了一點問題無法訪問.CS文件中的隱藏值

我的表單包含3個隱藏控件,我通過jQuery發送值。當我保持警惕的時候,將其工作正常。

我正在使用FormCollection並嘗試檢索.cs文件中的隱藏值,但我無法取消這些值。當我在FormCollections上保留斷點時,它會顯示所有隱藏的控件名稱,包括鍵號。

查看:在的.cs

<tr> 
    <td colspan ="2"> 
     @Html.Hidden("hdnddlid") 
     @Html.Hidden("hdnrblMale") 
     @Html.Hidden("hdnrblFeMale") 
    </td> 
</tr> 

<script type="text/javascript"> 
    $(document).ready(function() { 
     $("input[name='Gender']").change(function() { 
      if ($("input[name='Gender']:checked").val() == '1') { 
       hdnrblMale = "Male"; 
      } 
      else if ($("input[name='Gender']:checked").val() == '0') { 
       hdnrblFeMale = "FeMale"; 
      } 
     }); 
    }); 
</script> 

代碼文件

public static void InsertPersonalDetails(PersonalDetails modelPersonal, FormCollection frmHdnValues) 
{ 
    try 
    { 
     PersonalDbContext db = new PersonalDbContext(); 

     string Male = frmHdnValues["hdnrblMale"].ToString(); 
     string Female = frmHdnValues["hdnrblFeMale"].ToString(); 

     db.Entry(modelPersonal).State = EntityState.Added; 
     //pDetails.Add(Objpd); 
     db.SaveChanges(); 
     // return pDetails; 
    } 

感謝

+0

你發出的HTML(DOM)是什麼樣子? –

+1

你是否將所有這些包裹在表單中?您是否使用過像Firebug或Chrome Developer開發工具這樣的網絡開發工具來確保您的隱藏輸入設置值? –

+0

@Shane - 是Shane,我用了上面所說的所有東西 –

回答

2

我缺少的東西或不會將您的jQuery的需要是:

$("input[name='hdnrblMale']").val("Male"); 

而不是

hdnrblMale = "Male"; 

還確保這些字段位於要提交的表單中。

我使用的

  • 的Visual Studio的組合:斷點,步執行代碼,即時窗口
  • :在JS,JS即時窗口斷點,檢查元件
  • fiddler2:看到,實際上是發送到服務器和從服務器(注意可能beet使用本地主機。而不是本地主機的流量到 顯示在小提琴手 - 例如localhost.:69230代替 本地主機:69230)

調試這種類型的事情..這樣你應該有鏈的所有部分的可見性。

0

嘗試輸入類型隱藏並在控制器中寫入request.form["FieldName"]。這是在我的情況下工作

相關問題