asp.Net学習ノートカスタムコントロールにパラメータを渡す

2887 ワード

エンカスタムコントロール
多重化するような感じを書きます.今日これを見て、これはきっと服用に使うのではないかと思いました.もしもし、服用する以上、パラメータをあげなければなりません.さもなくばこれはカスタマイズすることができなくてまたキックアスを多重します...
まずページdefaultが必要です
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

<%@ Register Src="~/WebUserControl.ascx" TagPrefix="uc1" TagName="WebUserControl" %>


<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <uc1:WebUserControl runat="server" ID="WebUserControl" />
    </div>
    </form>
</body>
</html>

我々は
<uc1:WebUserControl runat="server" ID="WebUserControl" />

ここにはユーザーコントロールがあります.WebUserControlは私たちのページにこのユーザーコントロールを導入しました.この時、私たちは別の側を見て、私たちのコントロールの内容を見てみましょう.
まずascxファイルを見てみましょう
<%@ Control Language="C#" AutoEventWireup="true" CodeFile="WebUserControl.ascx.cs" Inherits="WebUserControl" %>
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>

3行目を見ると明らかにこのゲームは1行のテキストを出力してlabelコントロールでこのことを完成させ、私たちの目標は
虫歯がない(出て行け)
私たちの目標は、この空間の出力をdefaultページから入力されたパラメータに従って変化させることです.
では、スペースのcsファイルを見てみましょう.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class WebUserControl : System.Web.UI.UserControl
{   
    protected void Page_Load(object sender, EventArgs e)
    {
    }

    public void SetLable(string value)
    {
        this.Label1.Text = value;
    }
}

我々は
public void SetLable(string value)

メソッドこのメソッドはパラメータを受け入れ、このパラメータの値をlabelにバインドします.つまり、以前のターゲットコントロール機能は、ある価値に応じて変化します.
コントロールがパラメータをどのように受信するかは分かりましたが、defaultページでどのように参照しますか?
ではdefaultを振り返ってdefaultのcsファイルを見てみましょう
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
{
    protected void Page_Load(object sender, EventArgs e)
    {
        this.WebUserControl.SetLable("ddd");
    }
}

この一言
this.WebUserControl.SetLable("ddd");

this.WebUserControlコントロールのオブジェクトを取得しました
このとき、後で連想すると、ユーザーコントロールのSet Table付与方法を見つけて付与するのに役立ちます.
これにより、総ページでユーザーカスタムコントロールを呼び出し、パラメータに入力してカスタムコントロールを操作する機能が実現されます.
(ファイルを前にしてPHPと差があるのはちょっと変な感じ...)