gpt4 book ai didi

c# - 将表格推送到屏幕

转载 作者:太空宇宙 更新时间:2023-11-03 10:27:17 24 4
gpt4 key购买 nike

当我的 JSSTree 的一个分支被点击时我有一个 AJAX 请求

$("#jstree").bind("select_node.jstree", function(evt, data)
{
var idArgument = data.node.text;
$.ajax(
{
type: "POST",
url: "WebForm1.aspx/brancheSelectionnee",
data: JSON.stringify({ id: idArgument }),
contentType: "application/json; charset=utf-8",
success: function(msg)
{
;
}
});
});

所以,我调用了这个函数,它创建了一个新的“页面”(因为它是静态的)并调用了一个返回 System.Web.UI.WebControls.Table 的函数。

public static string brancheSelectionnee(string id)
{
var page = (WebForm1)HttpContext.Current.CurrentHandler;
System.Web.UI.WebControls.Table tableau = page.brancheSelectionneeNonStatique(id);

var stringWriter = new StringWriter();
using (var htmlWriter = new HtmlTextWriter(stringWriter))
{
tableau.RenderControl(htmlWriter);
}
string tableauString=stringWriter.ToString();
return "randomstring";
}

这里有一个大问题:我的“画面”已更新,我想要什么(我用 htmlWriter 看到了这个)但是..我不知道如何把它放在我的屏幕上!我的 C# 代码中有它,但我希望它出现在屏幕上,而不仅仅是这里。

我的 ASP.net 代码中有“tableauArticle”,它是一个真正的 System.Web.UI.WebControls.Table。我尝试了一些东西,比如将“tableauArticle”设为静态,然后

  tableauArticles = tableau;

但我没有看到任何变化。我想我更新了页面中的一个表格,但我没有显示

我认为主要问题是我的页面没有刷新,或者我的表格有误。

最佳答案

您执行 AJAX 请求,因此没有页面刷新。您只需从服务器方法返回一个字符串(带有 HTML)。然后您必须手动将该字符串放在您的页面上。这发生在代码中为空的 success 回调函数中。作为第一步尝试这样的事情:

success: function(msg) 
{
$('<div class="newtable">').html(msg).appendTo('body');
}

在服务器端,您的方法 brancheSelectionnee 需要 AjaxMethod 属性,以便可以使用 AJAX 调用它:

[Ajax.AjaxMethod()]
public static string brancheSelectionnee(string id)

(它还应该 return tableauString; 而不是 "randomstring",对吗?我不确定您是否可以使用 HttpContext.Current.CurrentHandler 那里,但如果基本的 AJAX 东西有效,那是第二步。)

这是一个tutorial对于所有这一切,它为您提供了一个概览。

关于c# - 将表格推送到屏幕,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31290718/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com