我想从资源文件中设置一个Link Button标题,所以我有以下代码:
<table >
<tr >
<td>
<asp:LinkButton ID="lbtnRow" resourcekey="lbtnRow" CssClass="lablelinkbtn" runat="server" Text="Row" ></asp:LinkButton>
</td>
<td>
<asp:LinkButton ID="lbtnProcess" resourcekey="lbtnProcess" CssClass="lablelinkbtn" runat="server" Text="Process" ></asp:LinkButton>
</td>
</tr>
</Table>
但如果我从后面的代码中调用它们,它运行良好。但资源文件中的字符串不起作用
string result = Localization.GetString("lbtnRow", LocalResourceFile);
为什么他们不加载我的ascx文件?
答案 0 :(得分:2)
至少我发现了这个问题。我的文件名是“EditProcess.ascx”,我的资源文件是“EditProcess.fa-IR.resx”。在这种情况下,resourcekey属性找不到文件名中需要“.asx”扩展名的资源文件。所以当我将文件更改为“EditProcess.ascx.fa-IR.resx”时,一切都运行良好。
答案 1 :(得分:1)
这是你必须打电话的方式。你这么称呼它吗?
Text="<%$Resources:LocalResourceFile,lbtnRow%>"
//The Example
<asp:LinkButton ID="lbtnProcess" resourcekey="lbtnProcess" CssClass="lablelinkbtn" runat="server" Text="<%$Resources:LocalResourceFile,lbtnRow%>" ></asp:LinkButton>
请确保您的资源文件位于“App_GlobalResources”文件夹
中