0

我有一个 jquery datepicker 控件。我想使用它来创建一个自定义的 ASP.net 控件。JQuery datepicker 有一个属性 beforeShow。该属性是函数类型。在 ASP.Net cotrol 中,我试图通过 JSonItem 使用字符串类型设置函数,如下所示:

StringBuilder strFunction = new StringBuilder();
            strFunction.AppendLine(@"function (input) { ");
            strFunction.AppendLine(@" setTimeout(function () { ");
            strFunction.Append(@" var buttonPane = $(""#" + ClientID);
            strFunction.Append(@""")");
            strFunction.AppendLine(@".datepicker(""widget"").find("".ui-datepicker-close"").click(function () {");
            strFunction.Append(@" $.datepicker.clearDate($(""#" + ClientID );
            strFunction.AppendLine(@"""));");
            strFunction.AppendLine(@" });");
            strFunction.AppendLine(@" }, 1);");
            strFunction.AppendLine("}"); 

textInput.Call("datepicker", Js.Json(
                Js.JsonItem("onSelect", Js.Function(delegate {
                    if (ValueSelected != null) {
                        var request = CreateMethodInvocationRequest("OnSelect");
                        request.Send();
                    }
                })
            ),
//This is the function type of property

Js.JsonItem("beforeShow",strFunction.ToString())



));

在这里,但我没有得到结果。抛出运行时 JScript 错误。如果我没有设置 beforeShow 属性,那么一切正常。但我需要这个属性。任何人都可以建议其他方法吗?

4

2 回答 2

0

根据您的需要使用以下选项而不是 beforeShow,

渲染前渲染后渲染

我们不能使用 beforeShow,因为它只有在与 show 方法一起使用时才会触发..

于 2012-12-14T07:57:54.367 回答
0

我使用一个函数解决了这个问题,该函数返回将字符串解析为 JSExpression。

Js.JsonItem("beforeShow",strFunction.ToString())
于 2012-12-15T09:20:27.670 回答