Bir ASP.Net web sayfasındaki bir özelliğin değerini bir kullanıcı denetimine iletmek için (arkasındaki kodda yer almayan) deklaratif bir yol bulmam gerekiyor. Aşağıda, yapmaya çalıştığım şeyin basit bir örneği var, ama işe yaramayacağım.ASP.Net Sayfa Özelliğinden Kullanıcı Denetimine Duyarlı Olarak Geçirilen Değer
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class _Default : System.Web.UI.Page
{
public int PageProperty { get; set; }
protected void Page_Load(object sender, EventArgs e)
{
PageProperty = 42;
}
}
: Burada
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<%@ Register Src="~/MyUserControl.ascx" TagName="MyUserControl" TagPrefix="uc1" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<uc1:MyUserControl ID="MyUserControl1" runat="server"
UserControlProperty = '<%# Bind("PageProperty") %>' />
</div>
</form>
</body>
</html>
aspx sayfasından (aspx.cs) dosyası arkasında kod şudur: Burada kullanıcı denetimi bir nesne kuruyorum aspx sayfası için biçimlendirme olduğunu İşte
usercontrol (ascx dosyası) biçimlendirme geçerli:
<%@ Control Language="C#" AutoEventWireup="true"
CodeFile="MyUserControl.ascx.cs" Inherits="MyUserControl" %>
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
Ve burada kullanıcı kontrolünden dosyası (ascx.cs) arkasında kodudur:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class MyUserControl : System.Web.UI.UserControl
{
public int UserControlProperty { get; set; }
protected void Page_Load(object sender, EventArgs e)
{
TextBox1.Text = UserControlProperty.ToString();
}
}
Yani, yapmaya çalışıyorum hepsi bu UserControlProperty var ayarlayabilir ve ardından usercontrol bir metin kutusuna bu değeri görüntülemek için kullanıcı kontrolüne aspx sayfasında tanımlanan PageProperty özelliğinin değerini geçmesi olduğunu. Burada yanlış yaptığımı söyleyen var mı?
hangisi çalıştı? :) – 0100110010101