0

Web ユーザー コントロールのパブリック プロパティを変更しましたが、ユーザー コントロールを削除して再度追加し、変更を確認するまで、クライアントはその変更を認識しません。

ユーザーコントロールが多くの場所で使用されている場合、すべてのページでそれを行う必要があるのでしょうか? 確かに、何か足りない?

これが私の webusercontrol のコード ビハインドです。

public partial class ReportExporter : System.Web.UI.UserControl
{
    public IEnumerable<object> DataSource { get; set; }

    public String ExportFilename { get; set; }

    protected void Page_Load(object sender, EventArgs e)
    {

    }

    protected void BtnExportCsv_Click(object sender, EventArgs e)
    {
        //Client needs to subscribe to this event and set the
        //DataSource property with IEnumerable. 
        //Todo: Find other ways to show this as a requirement.
        OnExportEvent(e);
        if (String.IsNullOrEmpty(ExportFilename))
            ExportFilename = "NeedToOverrideThisName";
        Response.Clear();
        Response.ContentType = "text/csv";
        Response.AddHeader("Content-Disposition", "attachment; filename=" + ExportFilename + ".csv");

        byte[] csvData = Utility.ToCsv(",", DataSource.ToList());
        Response.OutputStream.Write(csvData, 0, csvData.Length);
        HttpContext.Current.Response.End();
    }

    protected void BtnExportPdf_Click(object sender, EventArgs e)
    {

    }

    public event EventHandler ExportEvent;

    protected void OnExportEvent(EventArgs e)
    {
        if (ExportEvent != null)
        {
            ExportEvent(this, e);
        }
    }

}

私が行ったのは、DataSource のプロパティ名を変更したことだけで、AnyList でした。

4

1 に答える 1