ASP 사용 방법.서버 제어 특성의 NET <%= 태그?
효과:
<span value="<%= this.Text %>" />
이것은 작동하지 않습니다.
<asp:Label Text="<%= this.Text %>" runat="server" />
왜 그런 것일까요?
두 번째 대소문자가 제대로 작동하도록 하려면 어떻게 해야 합니까? 즉, 레이블의 텍스트를 "텍스트" 변수 값으로 설정할 수 있습니까?
<asp:Label ID="Label1" runat="server" Text="<%# DateTime.Now %>" ></asp:Label>
암호 뒤에,
protected void Page_Load(object sender, EventArgs e){
DataBind();
}
당신은 이걸 할 수 있다.
<asp:Label ID="Label1" runat="server" ><%= variable%></asp:Label>
내 코드에서 나는 이와 같은 것을 쉽게 사용하지만 ListView Item 템플릿과 같은 데이터 바인딩 제어에서 사용합니다.
<asp:HyperLink ID="EditAction" class="actionLinks" Visible='<%#Eval("IsTrue").ToString() != "True"%>' runat="server" NavigateUrl='<%# Eval("ContentId","/articles/edit.aspx?articleid={0}")%>' />
그러나 <%#...%>를 사용하여 데이터 바인딩 제어 외부에서 사용하려고 하면 작동하지 않습니다.
쉽게 처리할 수 있습니다.
<a href="<%=myHref%>">My href</a>
그러나 서버 제어 및 데이터 바인딩 제어 외부의 경우.페이지 로드 이벤트에서 DataBind()를 명시적으로 호출해야 합니다.
<asp:Hyperlink ID="aa" NavigateUrl='<%#myHref%>' >
코드에서 서버 컨트롤 값을 설정해야 합니다.
먼저 라벨 컨트롤에 ID를 할당하여 컨트롤에 액세스할 수 있도록 합니다.
<asp:Label ID="myLabel" runat="server" />
그런 다음 Page_Load 함수에서 레이블 'Text' 필드의 값을 설정합니다.
protected void Page_Load(object sender, EventArgs e)
{
myLabel.Text = 'Whatever you want the label to display';
}
이 기능은 파일 뒤에 있는 코드에 있거나, 모델 뒤에 있는 코드를 사용하지 않는 경우 aspx 페이지 안에 필요합니다.
<script runat="server">
protected void Page_Load(object sender, EventArgs e)
{
myLabel.Text = 'Whatever you want the label to display';
}
</script>
행운을 빌어요.
이것을 그렇게 표시하는 방법은 확실하지 않지만, 이것은 약간 중복된 것입니다.이 스레드를 보십시오.
당신의 마크업에 코드를 포함시키는 것이 당신의 마크업을 더 명확하게 하거나 더 우아하게 만들 것이라고 생각하지 않습니다.
<asp:Label>
런타임에 컴파일하고 html 태그로 변환하는 중입니다.다음과 같은 코드를 사용하여 텍스트를 설정할 수 있습니다.
<asp:Label id="Text1" runat="server" />
<% Text1.Text = this.Text;%>
업데이트: 제 변형 모델이 작동하지 않는 것 같습니다. 이것이 더 좋습니다.
protected void Page_Load(object sender,EventArgs e)
{
Text1.Text = this.Text;
}
이 문제에 대한 좋은 기술적 분석을 원하는 사람들을 위해 이 작은 덩어리를 던져주는 것입니다. -- https://blogs.msdn.microsoft.com/dancre/2007/02/13/the-difference-between-and-in-asp-net/
저는 핵심이 다른 답변들과 상당히 일치한다고 생각합니다.
- <%= 표현식은 렌더 시간에 평가됩니다.
- <%# 식은 DataBind() 시간에 평가되며 DataBind()가 호출되지 않으면 전혀 평가되지 않습니다.
- <%# 식을 서버측 컨트롤에서 속성으로 사용할 수 있습니다.<%= 식은 사용할 수 없습니다.
언급URL : https://stackoverflow.com/questions/1393348/how-to-use-asp-net-tags-in-server-control-attributes
'programing' 카테고리의 다른 글
'자산' 폴더에서 sdcard로 파일을 복사하는 방법은 무엇입니까? (0) | 2023.08.04 |
---|---|
Powershell에서 OS 버전, Linux 및 Windows 확인 (0) | 2023.08.04 |
TSQL의 열에 대한 기본 제약 조건 삭제 (0) | 2023.07.30 |
UIImageView에서 이미지에 맞는 가로 세로 맞춤을 적용한 후 이미지 크기를 확인하는 방법 (0) | 2023.07.30 |
코틀린과 새로운 활동테스트 규칙: @Rule은 공개 규칙이어야 합니다. (0) | 2023.07.30 |