如何在jquery中调用c#扩展方法?
我在Asp.net核心中为类如何在jquery中调用c#扩展方法?,jquery,asp.net,razor,extension-methods,Jquery,Asp.net,Razor,Extension Methods,我在Asp.net核心中为类DateTime提供了一个扩展方法ToShamsi $("#tableBody").append("<tr><td>" + user.RegisterDate.ToShamsi()+ "</td></tr>" ); 我需要在JQuery中使用这个扩展方法 $("#tableBody").append("&
DateTime
提供了一个扩展方法ToShamsi
$("#tableBody").append("<tr><td>" +
user.RegisterDate.ToShamsi()+
"</td></tr>" );
我需要在JQuery中使用这个扩展方法
$("#tableBody").append("<tr><td>" +
user.RegisterDate.ToShamsi()+
"</td></tr>" );
我该怎么做?
假设我有一个用户,然后我可以在视图中调用此扩展方法,如下所示:
@user.RegisterDate.ToShamsi();
$("#tableBody").append("<tr><td>" +
user.RegisterDate.ToShamsi()+
"</td></tr>" );
我应该如何在JQuery中使用上述代码?
用户,通过Ajax获取:
$("#tableBody").append("<tr><td>" +
user.RegisterDate+
"</td></tr>" );
$("#tableBody").append("<tr><td>" +
user.RegisterDate.ToShamsi()+
"</td></tr>" );
$(“#表体”).append(“'+
user.RegisterDate+
"" );
上面的代码还可以,但我想把秘密日期改成shamsi:
$("#tableBody").append("<tr><td>" +
user.RegisterDate.ToShamsi()+
"</td></tr>" );
$(“#表体”).append(“'+
user.RegisterDate.ToShamsi()+
"" );
由于您的扩展方法是c语言,并且在服务器上运行,而jquery是客户端,因此您有3个选项
$("#tableBody").append("<tr><td>" +
user.RegisterDate.ToShamsi()+
"</td></tr>" );
根据应用程序的架构,一个选项可能比另一个更有意义。除非将javascript代码放入razor代码中,否则无法在JQuery中调用它,然后可以将@user.RegisterDate.ToShamsi()作为参数。
$("#tableBody").append("<tr><td>" +
user.RegisterDate.ToShamsi()+
"</td></tr>" );
但是我建议您使用一个隐藏字段,以便在JQuery代码中轻松地读取它。比如:
$("#tableBody").append("<tr><td>" +
user.RegisterDate.ToShamsi()+
"</td></tr>" );
<input type="hidden" id="shamsiDate" value="@user.RegisterDate.ToShamsi()" />
阅读日期。您的意思是向asp.net服务器发送请求吗?用户是在浏览器上用js声明的还是在c#中声明的?例如在Razor中?用户通过jquery2a中的Ajax获取。在现有端点响应中包含该值。(从评论到问题)
$("#tableBody").append("<tr><td>" +
user.RegisterDate.ToShamsi()+
"</td></tr>" );