0
양식에 게시하는 웹 사용자 컨트롤이 있지만 두 번째 사용자 정의 컨트롤 "PageStateTemplate"은 알 수없는 요소로 등록하고 있으며 웹 컨트롤의 실제 코드에서 제목에있는 오류가 표시됩니다. 이것은 "ViewState"가 포함 된 모든 행에 대해 나타납니다. 당신이 보통 페이지에 배치, runat="server"
와 form
이 필요하거나 masterpage하지 않는 사용자 정의 컨트롤 내부 있도록 웹 양식에서'System.Web.UI.HtmlControls.HtmlForm'형식의 표현식에 []을 (를) 사용하여 인덱싱을 적용 할 수 없습니다. 웹 사용자 정의 컨트롤이로드되지 않습니다.
<%@ Control Language="C#" AutoEventWireup="true"%>
<%@ Import Namespace="System" %>
<%@ Import Namespace="System.ComponentModel" %>
<%@ Import Namespace="System.Web.UI.WebControls" %>
<%@ Import Namespace="System.Web.UI" %>
<%@ Import Namespace="System.Web" %>
<%@ Import Namespace="System.Collections.Generic" %>
<%@ Import Namespace="System.IO" %>
<%@ Import Namespace="TemplateEngine.Docx" %>
<%@ Import Namespace="DocumentFormat.OpenXml.Packaging" %>
<%@ Import Namespace="DocumentFormat.OpenXml.Wordprocessing" %>
<%@ Import Namespace ="FileUpload" %>
<script runat="server">
protected void Page_Load(object sender, EventArgs e)
{
if(!IsPostBack)
{
string str = "Welcome to Aspdotnet-Suresh Site";
if(ViewState["SampleText"]==null)
{
ViewState["SampleText"] = str;
}
}
}
protected void btnClick_Click(object sender, EventArgs e)
{
lblString.Text = ViewState["SampleText"].ToString();
}
</script>
<form id="ViewState" runat="server">
<div>
ViewState Data: <b><asp:Label ID="lblString" runat="server"/></b>
<asp:Button ID="btnClick" runat="server" Text="Get ViewState Data"
onclick="btnClick_Click"/>
</div>
</form>
양식의 ID를 ViewState에서 다른 것으로 변경 한 다음 시도해보십시오. –
이제 "페이지가 하나의 서버 쪽 양식 만 가질 수 있습니다" . 그렇다면 양식이 아니라면 무엇을 만들 수 있습니까? 나는 asp.net에 대해 많이 알지 못한다. 그러나 하나의 형식만으로는 여러 단계의 viewstate를 만들려고하는 것이별로 의미가 없다. – DevAL
@ Alex- 다른 웹 페이지에 넣으십시오 ... 또는 한 페이지 만 사용하려면 패널을 사용하십시오 –