向启用文本框 (C#) 的 Web 部件添加一个按钮,并收到错误:无法将类型“bool”隐式转换为“字符串”
本文关键字:字符串 错误 类型 bool 转换 Web 启用 文本 按钮 一个 添加 | 更新日期: 2023-09-27 18:32:42
我已经在 webpart 中添加了一个按钮 - 我希望该功能能够启用它旁边的禁用文本框。 在部署时,我收到错误:无法将类型"bool"隐式转换为"字符串"
当我转换为字符串以尝试克服该问题(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>");
这是因为您将值true
分配给文本框而不是比较。将代码更改为Convert.ToString(JDHFTxt.Enabled);
编辑阅读您的评论后,这就是您想要的:
JDHFBtn.OnClientClick =
"document.getElementById('" + JDHFTxt.ClientID + "').disabled = false;" +
"return false;";