[英]Getting Error in using user control(.ascx) on asp.net mvc layout page
I am integrating Asp.net User control(.ascx) in my Mvc Layout page ie is master page and i am using razor engine. 我在我的Mvc布局页面中集成了Asp.net用户控件(.ascx),即是母版页面,并且我正在使用剃刀引擎。
Error :Error executing child request for handler 错误 :执行处理程序的子请求时出错
'System.Web.Mvc.HttpHandlerUtil+ServerExecuteHttpHandlerWrapper ascx.
Control '1_hdfData' of type 'HiddenField' must be placed inside a form tag with runat=server.
This is my code: 这是我的代码:
_Layout.cshtml: _Layout.cshtml:
@Html.Partial("~/UserControls/Data.ascx")
Data.ascx : Data.ascx :
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="Data.ascx.cs" Inherits="MyNameSpace.Data" %>
<asp:HiddenField ID="hdfData" runat="server" />
--Rest all other asp.net server side controls---.
Data.ascx.cs : Data.ascx.cs :
namespace MyNameSpace.Data
{
public partial class Data : ViewUserControl
{
//Page_Load events and other code
}
}
Is it like if i am inheriting User Control(.ascx) from ViewUserControl
so i cant use asp.net control? 就像我从
ViewUserControl
继承用户控件(.ascx) ViewUserControl
因此我无法使用asp.net控件吗?
Can anybody help me with this? 有人可以帮我吗?
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="Data.ascx.cs" Inherits="MyNameSpace.Data" %>
<form runat="server">
<asp:HiddenField ID="hdfData" runat="server" />
--Rest all other asp.net server side controls---.
</form>
I am sharing one idea, but it's not good practice. 我分享一个想法,但这不是一个好习惯。
@Html.Partial("_ASCX_FILE")
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<dynamic>" %>
<%@ Register Assembly="SomeAssembly" Namespace="SomeNs" TagName="ASCX_FILE" %>
<ASCX_FILE:SomeControl runat="server" ID="fooControl" />
Possibly above solution can sort out your issue. 上面的解决方案可能会解决您的问题。
Suggesting again, try using pure MVC flavor. :)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.