标签: rendercontrol

RegisterForEventValidation只能在渲染期间调用

我有一个web方法,将从jquery ajax调用:

[WebMethod]
public string TestMethod(string param1, string param2)
{
    StringBuilder b = new StringBuilder();
    HtmlTextWriter h = new HtmlTextWriter(new StringWriter(b));
    this.LoadControl("~/Pages/Controls/Listing.ascx").RenderControl(h);
    string controlAsString = b.ToString();
    return controlAsString;
}
Run Code Online (Sandbox Code Playgroud)

(这是一种非静态的方法,我们能够击中它.这不是问题)

执行loadControl()方法时,我收到一条错误消息:只能在Render期间调用RegisterForEventValidation.

我已经为当前的aspx,禁用的viewstate包含了EnableEventValidation ="false".但我仍然得到同样的错误.有什么想法吗?

asp.net jquery rendercontrol

18
推荐指数
2
解决办法
7万
查看次数

Flutter - 避免 ListView 重建

ListView当您根据默认行为插入/删除/重新排序(或执行任何其他操作)项目时ListView.builderListView.separated它总是会重建整个小部件。

我怎样才能避免这种情况?它会带来不良结果,例如数据丢失。

listviewitem rendercontrol dart flutter

5
推荐指数
1
解决办法
5231
查看次数

在ASP.NET中人工触发页面事件?

我正在使用C#中的静态类,我正在尝试使用Control.RenderControl()一个字符串/标记表示Control.

不幸的是,控件(和所有子控件)使用事件冒泡来填充某些值,例如,在实例化时,然后调用RenderControl()以下内容:

public class MyTest : Control
{
    protected override void OnLoad(EventArgs e)
    {
        this.Controls.Add(new LiteralControl("TEST"));
        base.OnLoad(e);
    }
}
Run Code Online (Sandbox Code Playgroud)

我返回一个空字符串,因为OnLoad()从未被解雇过.

有没有办法可以调用'假的'页面生命周期?也许使用一些虚拟Page控制?

c# asp.net rendercontrol

4
推荐指数
1
解决办法
322
查看次数

将ASP.Net GridView HTML转换为字符串

我们尝试从GridView中获取HTML并将其存储到String中,以便字符串可以用作电子邮件的正文.

到目前为止,我们在代码隐藏中使用了这种编码:

Protected Sub EmailStudentList()

    ' Get the rendered HTML.
    '-----------------------
    Dim SB As New StringBuilder()
    Dim SW As New StringWriter(SB)
    Dim htmlTW As New HtmlTextWriter(SW)

    GridViewSummary.RenderControl(htmlTW)

    ' Get the HTML into a string.
    ' This will be used in the body of the email report.
    '---------------------------------------------------
    Dim dataGridHTML As String = SB.ToString()

    MsgBox(Server.HtmlEncode(dataGridHTML))
End Sub
Run Code Online (Sandbox Code Playgroud)

应用程序运行时会显示以下错误:

Control 'BodyPlaceholder_GridViewSummary' of type 'GridView' must be placed 
inside a form tag with runat=server.
Run Code Online (Sandbox Code Playgroud)

所以我在标记的这个位置放置了一个表单标记:

<asp:Content
    ID="ContentBody"
    ContentPlaceHolderID="BodyPlaceholder"
    runat="server">

<form runat="server">
Run Code Online (Sandbox Code Playgroud)

现在我们得到这个错误:

A …
Run Code Online (Sandbox Code Playgroud)

vb.net asp.net stringbuilder rendercontrol string-conversion

2
推荐指数
1
解决办法
4200
查看次数