2011-01-14 7 views
1

問題は、私はそれらのリンクのリンクをクリックして私は隠しフィールドにlinkIdを設定していることです。最初の私のリンクはasp:linkbutton ans onClientClickでした。隠しフィールドの値を設定していましたが、コードの背後に隠れたフィールド値を取得できましたが、HTMLアンカーとonClickへのリンクを変更したときに隠しフィールドの値をI am not getting hidden field with blankに設定しました。私はそれが完全に隠しフィールドの値を設定しているが、なぜ私は背後にあるコードでそれを取得しておりませんJavaScriptのデバッグするとき---私のコード -htmlアンカーまたはasp.net linkbuttonで非表示のフィールド値を設定するとどうなりますか?

<a href="./ContentPage.aspx" data-flexmenu='flexmenu1' onclick="javascript:setPageLinkId(1);"> 

<script type="text/javascript"> 
    function setPageLinkId(lnkPageId) { 
     debugger; 
     alert(lnkPageId); 
     document.getElementById('<%=hdnSelectedLink.ClientID %>').value = lnkPageId.toString();    
    }  

</script> 

//code behind- here I get blank hidden field 
if (hdnSelectedLink.Value != null && hdnSelectedLink.Value != "") 
     {    
      GetLinkPage(Convert.ToInt32(hdnSelectedLink.Value)); 

     } 

いただきました問題は、提案してください?

+0

あなたのページに、 ''<%= hdnSelectedLink.ClientID%>''に変換された 'id'の隠しフィールドがありますか?また、あなたのコードの背後にある - このコードは、それがページを提出した後に呼び出される場所にありますか?そうでない場合、ASPは値を見ることができません。 – scunliffe

答えて

0

私の理論は、アンカーをクリックしてもページにポストバックが発生しないということです。むしろ、 "ContentPage.aspx"へのHTTP GET要求が発行されます。つまり、フォームの値がサーバーに送信されません。

以前のようにASP:LinkBut​​tonなどのページへのポストバックを引き起こすコントロールを使用する必要があります。

0

@Ozzyあなたはdude.I正しかったが、その今、正常に動作し、私のjavascript-に

document.forms["aspnetForm"].submit(); 

これを使用していました。

関連する問題