(System.Web.UI.WebControls.Button)与控件类型不兼容(System.Web.UI.HtmlControls.HtmlButton)

时间:2017-04-07 20:02:29

标签: c#

当我在Visual Studio上运行该应用程序时,它可以正常工作,但是当我在服务器上传它时,我得到了错误

The base class includes the field 'hiddenButton', but its type(System.Web.UI.WebControls.Button) is not compatible with the type of control (System.Web.UI.HtmlControls.HtmlButton).

对于我使用过的按钮:

<button id="hiddenButton" runat="server" onserverclick="btnClick_Click" style="display:none;" ></button>

C#代码是:

   protected void btnClick_Click(object sender, EventArgs e)
    {

        DownloadAsPDF();
    }

    public void DownloadAsPDF()
    { 

3 个答案:

答案 0 :(得分:0)

我不确定,但请尝试改变这一点。

<asp:Button ID="hiddenButton" runat="server" OnClick="btnClick_Click" Text="" style="display:none;" />

答案 1 :(得分:0)

我将一些ASP按钮更改为HTML按钮:

来自<asp:Button ID="btnAdd" runat="server" UseSubmitBehavior="false" Text="Add" />

<button ID="btnAdd" runat="server" type="button">Add</button>

这会导致您收到同样的错误。解决方案是添加指令 using System.Web.UI.HtmlControls;到我的代码(.cs)文件后面。

显然将ID更改为与原始控件不同的内容会使编译器失效,但我不确定,并且不想更改我的ID,编译所有内容然后更改ID回到我原来想要的东西。

话虽如此,更改ID确实让波浪形的错误指示消失了。但最后我只是手动将指令插入到后面的代码中,然后就解决了问题。 提供洞察力的this article道具。

答案 2 :(得分:0)

我不得不清理解决方案,以消除警告。生成菜单->清洁解决方案。

发生这种情况是因为我在IIS Express仍在运行时将其更改为。