像asp.net中的htmlgenericcontrol一样的jquery helper

时间:2011-05-17 08:30:27

标签: c# jquery asp.net

我想在asp.net(c#)中构建一个包含jquery draggables的网页。 如何以面向对象的方式将我的jquery代码添加到我的页面?

所以我想创建一个c#myDraggables.cs类,我用htmlgenericcontrol添加到asp页面。如何在我的课程中添加此jquery代码(例如:$('#mydraggables')。draggable();)。 我可以通过添加“script”-tag来使用htmlgenericcontrol来完成它。但是有没有办法用jquery帮助器做到这一点(找不到)? TX

样本: 基本上,在我的myDraggables课程中,我可以;

public HtmlControl Draw()
{
    HtmlGenericControl aDiv= new HtmlGenericControl("div");
    aDiv.Attributes.Add("id", "dragtest");
    return aDiv;
}

public HtmlControl DrawJquery()
{
    HtmlGenericControl js = new HtmlGenericControl("script");
    js.Attributes["type"] = "text/javascript";
    js.InnerHtml = "$('#dragtest').draggable();";   
    return js; 
}

我的asp.page后面的代码看起来像;

protected void Page_Load(object sender, EventArgs e)
{
    myDraggables md = new myDraggables ('..some props ..');
    Page.Header.Controls.Add(md.DrawJquery());
    myPlaceHolder.Controls.Add(md.Draw());
}

这样可行,但jquery-code将变得更加复杂。并且将不再可读... 怎么能在json中实现?或者另一种更易读的方式?

由于

1 个答案:

答案 0 :(得分:1)

如果我理解正确,你想在后端编写一个强类型的.NET类,它也可以作为前端的jQuery对象,对吧?如果是这样,最好的方法是将.NET对象序列化为JSON格式,将其存储在变量中,并在生成标记时将其打印在脚本标记中。然后,在前端,将JSON字符串解析为Javascript对象,您可以从那里使用它。

您可以发布任何已经存在的.NET和JS代码吗?