如何在ascx文件中加载资源键?

时间:2013-12-25 12:11:26

标签: c# asp.net .net visual-studio-2012

我想从资源文件中设置一个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文件?

2 个答案:

答案 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”文件夹