我有一个TreeView帮助器,其中包含类别及其链接的列表。我做到了
@helper TreeView(FavouriteLinksXmlMVC3.Controllers.HomeController cat)
{
cat = new FavouriteLinksXmlMVC3.Controllers.HomeController();
try
{
foreach(FavouriteLinksXmlMVC3.Models.CategoriesControl list_category in cat.Categories)
{
<li>
<span class="folder" id="@list_category.Name">@list_category.Name</span>
@if(list_category.hasChild)
{
<ul>
@foreach(var links in list_category.Links)
{
<li><span class="file" id="@links.Url" categ_name="@list_category.Name">@links.Name</span></li>
}
</ul>
}
</li>
}
}
catch(Exception e)
{
Response.Write( e.ToString() );
}
}
好。它的工作就像一种魅力。
我做了一个函数,它使用JQuery获取链接信息:
$(".file").click(function () {
$.ajax({
url: '@Url.Action("GetLinkInfo")',
data: { cat_name: $(this).attr("categ_name"), url: $(this).attr("id") },
type: "GET",
success: function (data) {
//alert(data.Name + " " + data.Url + " " + data.Description);
var make = "<table style='border-collapse:collapse' border='1'><tr><td>Name:</td><td>" + data.Name + "</td></tr><tr><td>Url:</td><td>" + data.Url + "</td></tr><tr><td>Description</td><td>" + data.Description + "</td></tr></table>";
$("#details").html(make);
}
});
});
还有GetLinkInfo
[HttpGet]
public ActionResult GetLinkInfo( string cat_name, string url ) {
if ( string.IsNullOrEmpty( cat_name ) )
throw new ArgumentNullException( "GetLinkInfo cat_name" );
if ( string.IsNullOrEmpty( url ) )
throw new ArgumentNullException( "GetLinkInfo url" );
var c = this.Categories.Find( x => x.Name == cat_name );
string name1="", url1="", descr1="";
bool done = false;
if ( c != null ) {
foreach ( var p in c.Links ) {
if ( p.Url == url ) {
name1 = p.Name;
url1 = p.Url;
descr1 = p.Description;
done = true;
break;
}
}
}
if ( done ) {
return Json(
new {
Name = name1,
Url = url1,
Description = descr1
},
JsonRequestBehavior.AllowGet
);
} else {
return View();
}
}
我解决了这个问题
[HttpGet] //controller
public JsonResult GetCategoryInfo( string cat_name ) {
if ( string.IsNullOrEmpty( cat_name ) )
throw new ArgumentNullException( "GetCategoryInfo cat_name" );
var c = this.Categories.Find( x => x.Name == cat_name );
if ( c != null ) {
List<LinksControl> lk = null;
if ( c.hasChild ) {
lk = new List<LinksControl>();
foreach ( var p in c.Links ) {
lk.Add( p );
}
} else {
lk = new List<LinksControl>( 0 );
}
return this.Json(lk,JsonRequestBehavior.AllowGet);
} else {
return this.Json(new List<LinksControl>( 0 ),JsonRequestBehavior.AllowGet);
}
}
和jQuery
$(".folder").click(function() {
var find_id = $(this).attr("id");
$.ajax({
type: "GET",
url: '@Url.Action("GetCategoryInfo")',
dataType : 'json',
data: { cat_name: find_id },
success: function (response) {
// $("#details").html(response.toString());
var make = "<table style='border-collapse:collapse' border='1'>";
make += "<tr><td>Name</td><td>Url</td><td>Description</td></tr>";
$.each(response, function (index, lk) {
make += "<tr><td>" + lk.Name + "</td><td>" + lk.Url + "</td><td>" + lk.Description + "</td></tr>";
});
make += "</table>";
$("#details").html(make);
}
});
});
尝试更改public ActionResult GetCategoryInfo()
为public JsonResult GetCategoryInfo()
我认为ActionResult
返回类型可能会引起问题,但这只是预感!
我正在实现我自己的泛型链表类,它有一个名为的实例方法,该方法生成链表的数组副本并返回它。然而,每当我试图在实例上调用该方法时,我总是得到错误消息“sllist.this cannot be referenced from a static context”。我搜索了一下,有些人说这是因为我没有在实例上调用那个方法,但我确实调用了。 下面是类: 它有一些方法,如,它们都没有问题。 是我不断收到错误消
我正在实现我自己的通用链表类,它有一个名为的实例方法,它可以制作链表的数组副本并返回它。但是,每当我尝试在实例上调用该方法时,我都会收到错误消息“SLList.this不能从静态上下文中引用”。我搜索了一下,有些人说这是因为我没有在实例上调用该方法,但我确实调用了。 下面是该类: 它有一些方法,比如<code>addLast、addFirst</code>它们没有问题。 是我不断收到错误消息的行,
问题内容: 。 将返回String和int值。因此,我从这些返回值中得出了以下解决方案。 建立课程通话 并进行如下更改。 现在我的问题是,有没有更简单的方法来实现这一目标? 问题答案: 最后,我认为我的方法会更好,因为当返回类型的数量增加时,这种实现会以最佳方式实现。
. 将返回字符串和int值。从中获取这些返回值,我想出了以下解决方案。 创建一个类调用返回值 并更改,如下所示。 现在我的问题是,有没有更简单的方法来实现这一点??
问题内容: 我正在使用Django为项目创建基于Web的应用程序,并且遇到了将数组从Django视图返回到模板的问题。 JavaScript(JQuery)脚本将使用该数组在页面上显示的图像上绘制框。因此,该数组将具有要绘制的框的坐标。 这是Django视图中的代码,用于获取所需数据并将其序列化为JSON: 作为调试的一种方式,在模板的HTML部分中使用会将其作为输出(很抱歉,长行表示): 我认为
问题内容: 我正在尝试从Symfony 2中的控制器返回JSON响应。表单示例,在Spring MVC中,我可以使用@ResponseBody注释获取JSON响应。我想获取一个JSON响应,如果它是JSON数组或Json对象,则不返回任何内容,然后在视图中使用javascript对其进行操作。 我尝试下一个代码: 但是我在浏览器中得到响应。我也尝试过,但是得到相同的结果。 问题答案: 您需要执行此