문제

ASP.NET 페이지를 코딩 할 때 일반적으로 ASPX에 runat 속성을 추가합니다.

<form id="form1" runat="server">

사용자 가이 작업을 수행하지 않았다면 코드에서 알 수 있습니까?

<form id="form1">

여기에 양식에는 ID "Form1"이 있지만 제 경우에는 이것을 모릅니다. 다음과 같은 코드는 내가 찾고있는 것입니다.

if(Page.HasForm)
{
}
도움이 되었습니까?

해결책

.aspx 페이지 당 "runat = server"가있는 하나의 양식 태그 만 가질 수 있습니다. Page.Form이 NULL인지 아닌지 확인하기 만하면됩니다. NULL이라면 Runat 서버로 표시된 양식이 없습니다.

if (Page.Form != null)
{

}

.aspx 페이지를 요소로 만들고 서버 측에서 해당 객체를 생성하는 runat = "Server"부분입니다. 컴포넌트가 서버에서 실행되지 않으면 페이지의 제어 계층에 추가되지 않습니다.

다른 팁

var v = this.form.tagname; // runat로 깎은 양식의 이름을 가져옵니다.

물론 runat로 깎지 않으면 어쨌든 당신의 코드는 실행되지 않습니다 ...

코드 페이지의 C# 또는 Visual Basic에서 코딩하면 runat = 서버 옵션 세트가없는 객체에 액세스 할 수 없습니다.

Me.controls 페이지 또는 정렬을 사용하여 페이지에서 모든 컨트롤에 쉽게 액세스 할 수 있습니다 (정확한 코드는 모르지만 이에 가깝습니다). 컨트롤 유형을 확인하여 양식을 가져옵니다.

왜 그것을 알아야합니까? 페이지에 runat = 서버 양식이없는 경우 실제로 서버 페이지로 사용할 수 없습니다.

CodeBehind에서 양식에 액세스 할 수 있습니다.

Response.Write(form1.Name);

runat = "Server"가 없으면 컴파일러 오류가 발생합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top