0

Web パーツにボタンを追加しました。横にある無効なテキスト ボックスを有効にする機能が必要です。デプロイ時にエラーが発生します:タイプ 'bool' を 'string' に暗黙的に変換できません

問題を解決するために文字列に変換すると ( JDHFBtn.OnClientClick = Convert.ToString(JDHFTxt.Enabled = true);)、テキスト ボックスが常に編集可能になります。私は問題を解決しようとしています。私の無知を許してください - 私は C# と Web パーツに不慣れで、プログラミングについてはあまり進んでいません。ありがとうございました。

問題のコードは次のとおりです。

    sb.Append("</td>");
    sb.Append("         </tr>");
    sb.Append("         <tr class=\"row2\">");
    sb.Append("             <td class=\"rowTextLeft\" width=\"25%\">SPR/JDHF Allotment:</td>");
    sb.Append("             <td class = \"rowText\" td width=\"75%\">"); 
                                lc3 = new LiteralControl(sb.ToString());
                                Controls.Add(lc3); 
                                TextBox JDHFTxt = new TextBox(); 
                                JDHFTxt .ID = "txtJDHF"; 
                                JDHFTxt .Enabled = false;
                                JDHFTxt .Width = 100;
                                JDHFTxt .Text = ConvertToFunding(DrACE["SPRAllotment"].ToString()); 
                                Controls.Add(JDHFTxt); 
                                sb = new StringBuilder();

                                lc7 = new LiteralControl();
                                Controls.Add(lc7);
                                Button JDHFBtn = new Button();
                                JDHFBtn.ID = "btnJDHF";
                                JDHFBtn.CssClass = "plainButton";
                                JDHFBtn.Text = "Edit";
                                //JDHFBtn.OnClientClick = JDHFTxt.Enabled = true;
                                //JDHFBtn.Attributes.Add("OnClick, JDHFTxt.Enabled = true);
                                JDHFBtn.OnClientClick = Convert.ToString(JDHFTxt.Enabled = true);
                                Controls.Add(JDHFBtn);
                                sb = new StringBuilder();
sb.Append("</td>");
sb.Append("         </tr>");
4

1 に答える 1

1

trueこれは、比較せずにテキストボックスに値を割り当てているためです。コードを次のように変更しますConvert.ToString(JDHFTxt.Enabled);

編集 あなたのコメントを読んだ後、これはあなたが望むものです:

JDHFBtn.OnClientClick = 
      "document.getElementById('" + JDHFTxt.ClientID + "').disabled = false;" +
      "return false;";
于 2013-09-24T17:28:38.880 に答える