Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/307.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
向启用文本框(C#)的Web部件添加一个按钮,得到一个错误:无法隐式转换类型';布尔';至';字符串';_C#_String_Visual Studio 2010_Boolean_Web Parts - Fatal编程技术网

向启用文本框(C#)的Web部件添加一个按钮,得到一个错误:无法隐式转换类型';布尔';至';字符串';

向启用文本框(C#)的Web部件添加一个按钮,得到一个错误:无法隐式转换类型';布尔';至';字符串';,c#,string,visual-studio-2010,boolean,web-parts,C#,String,Visual Studio 2010,Boolean,Web Parts,我在webpart中添加了一个按钮-我希望该功能能够启用它旁边的禁用文本框。在部署时,我收到一个错误:无法将类型“bool”隐式转换为“string” 当我转换为字符串以尝试解决此问题时(JDHFBtn.OnClientClick=convert.ToString(jdhftt.Enabled=true);),它会使文本框始终可编辑。我希望解决这个问题。请原谅我的无知——我对C#和web部件不熟悉,编程也不太先进。多谢各位 以下是相关代码: sb.Append("</td>"

我在webpart中添加了一个按钮-我希望该功能能够启用它旁边的禁用文本框。在部署时,我收到一个错误:无法将类型“bool”隐式转换为“string”

当我转换为字符串以尝试解决此问题时(
JDHFBtn.OnClientClick=convert.ToString(jdhftt.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>");
sb.追加(“”);
某人加上(“”);
某人加上(“”);
sb.追加(“SPR/JDHF分配:”);
某人加上(“”);
lc3=新的文字控件(sb.ToString());
添加控件(lc3);
TextBox JDHFTxt=新建TextBox();
JDHFTxt.ID=“txtJDHF”;
JDHFTxt.Enabled=false;
JDHFTxt.Width=100;
JDHFTxt.Text=convertFound(DrACE[“SPRAllotment”].ToString());
添加控件(JDHFTxt);
sb=新的StringBuilder();
lc7=新的LiteralControl();
添加控件(lc7);
按钮JDHFBtn=新按钮();
JDHFBtn.ID=“btnJDHF”;
JDHFBtn.CssClass=“plainButton”;
JDHFBtn.Text=“编辑”;
//JDHFBtn.OnClientClick=JDHFTxt.Enabled=true;
//JDHFBtn.Attributes.Add(“OnClick,JDHFTxt.Enabled=true);
JDHFBtn.OnClientClick=Convert.ToString(JDHFTxt.Enabled=true);
控件。添加(JDHFBtn);
sb=新的StringBuilder();
某人加上(“”);
某人加上(“”);

这是因为您正在将值
true
分配给未进行比较的文本框。请将代码更改为
Convert.ToString(jdhftt.Enabled);

编辑 阅读您的评论后,这就是您想要的:

JDHFBtn.OnClientClick = 
      "document.getElementById('" + JDHFTxt.ClientID + "').disabled = false;" +
      "return false;";

感谢您的快速响应。我实现了您所说的代码(我想),但问题仍然是一样的。这就是我实现的-我是否正确地遵循了您的意图?
JDHFBtn.OnClientClick=Convert.ToString(JDHFTxt.Enabled);
Ah,请忽略这一点-我进行了缓存刷新(ctrl+F5)现在,该框仍处于禁用状态。当我现在用代码单击按钮时,网站将刷新,文本框仍处于禁用状态。单击按钮时,您希望发生什么情况?当前,JDHFTxt文本框设置为禁用。如果用户单击按钮,我希望文本框处于启用状态,以便他们可以更改值o输入一个。那么你完全错了,你需要一些javascript来处理这个问题。请参阅我的更新答案。