如何在静态方法中使用LocalResourceObject [webmethod]

时间:2014-09-12 11:43:14

标签: c# asp.net static localization webmethod

我可以在aspx页面中使用本地化,但不能在aspx.cs文件中使用。

 [WebMethod]
    public static string Menu(int role, int driver)
    {
 string _permissions = dr["FN_2"].ToString().Replace(" /V*", System.Web.HttpContext.GetLocalResourceObject("CRL.aspx", "RV.Text").ToString());
// This way didn't get error in coding but when I run it, give me no permission error for virtual path

string _permissions = dr["FN_2"].ToString().Replace(" /V*", System.Web.HttpContext.GetLocalResourceObject("RV.Text").ToString());
//I cannot use in this way
    }

在aspx页面中,我可以像这样称呼GetLocalResourceObject("RV.Text")。 我必须得到这些本地化的东西,我需要它们做很多事情。

我不能以这两种方式从localresource对象返回文本。其中一个在编码时出错,另一个由于许可无法到达虚拟路径。如何在GetLocalResourceObject中使用[WebMethod]

2 个答案:

答案 0 :(得分:3)

您可以这样使用: string _permissions = HttpContext.GetLocalResourceObject("~/×××/×××.aspx", "RV.Text").ToString();

答案 1 :(得分:1)

您可以尝试静态字符串:

public static string _RV { get; set; }

然后你把它填满你想要的地方,例如。的Page_Load:

_RV = GetLocalResourceObject("RV.Text").ToString();

然后你可以很好地运行它:

    [WebMethod]
    public static string Menu(int role, int driver)
    {
     string _permissions = dr["FN_2"].ToString().Replace(" /V*", _RV);    
    }

我希望它有效:)