【问题标题】:CS0029: Cannot implicitly convert type 'string' to 'System.Web.UI.HtmlControls.HtmlGenericControl'CS0029:无法将类型“字符串”隐式转换为“System.Web.UI.HtmlControls.HtmlGenericControl”
【发布时间】:2023-03-12 17:39:01
【问题描述】:

使用 asp.net webforms 我在第 1 行收到此错误:

CS0029:无法将类型“字符串”隐式转换为“System.Web.UI.HtmlControls.HtmlGenericControl”

<h2 id="Title" ClientIDMode="Static" runat="server">Evaluations</h2>

【问题讨论】:

  • 我很想知道反对票的原因。我遇到了这个问题并搜索了堆栈溢出,并且已经没有关于此的现有问题。答案并不直观,我认为值得分享给以后的人寻找。
  • 我猜是缺少代码的原因。
  • @juharr 我真的应该为这个问题发布整个 .aspx 页面吗?当答案中的代码很清楚时,这似乎是一个很大的噪音。我可以将问题发生的那一行放在问题中,但在我遇到问题时,至少我不知道问题出在哪里。错误指示第 1 行,但不在第 1 行。
  • 不,但至少出现问题的那一行。或者,如果这不是实际问题,那么可以使用最小的代码集来重现问题。仅仅因为你在答案中有它并不意味着它不应该出现在问题中。想想如果你没有答案,那么没人会知道。
  • @Kyle 即使是自我回答的问题也应该符合提出好问题的所有准则。有时(通常)会出现更多答案。读者很难挑选出提供缺失部分的那个。

标签: c# asp.net webforms


【解决方案1】:

ID="Title" 不能与 runat="server" 一起使用。

将 ID 更改为其他任何内容,例如 Title1 或 PageTitle,页面将再次编译并正常运行。

<h2 id="Title" ClientIDMode="Static" runat="server">Evaluations</h2>

收件人:

<h2 id="PageTitle" ClientIDMode="Static" runat="server">Evaluations</h2>

解决问题。

这个问题是因为生成的分部类隐藏了控件上已有的Title。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-01-28
    • 2021-02-14
    • 2019-09-30
    • 1970-01-01
    • 2022-07-06
    • 2017-10-06
    • 2022-08-23
    • 2019-10-03
    相关资源
    最近更新 更多