无法将 System.Web.UI.HtmlControls.HtmlInputText 转换为 System.Web.UI.HtmlControls.HtmlGenericControl

unable to cast System.Web.UI.HtmlControls.HtmlInputText to System.Web.UI.HtmlControls.HtmlGenericControl

我正在尝试将 htmlinputtext 转换为 htmlgenericcontrol

file.aspx :

<form runat="server" class="probootstrap-form">         
  <div class="form-group" style="margin-top: 20px">
    <label for="name">Markt Name:</label>
    <div class="form-field">
      <input type="text" id="name" runat="server" required="required" class="form-control" />
    </div>
  </div>
</form>

file.aspx.cs :

HtmlGenericControl name = (HtmlGenericControl)Form.FindControl("name");

错误:System.InvalidCastException:无法将类型为 "System.Web.UI.HtmlControls.HtmlInputText" 的对象转换为 "System.Web.UI.HtmlControls.HtmlGenericControl"

documentation 中,您可以看到 HtmlInputText 没有继承自 HtmlGenericControl,因此无法转换为 HtmlGenericControl

HtmlInputText 可以转换为 HtmlInputControlHtmlControlControlobject,其中 Control 是最通用的这在 aspnet 编程中仍然有意义。