在资源文件

时间:2016-08-19 15:20:57

标签: c# asp.net resource-files

请帮助我,我正在努力解决一个我不太熟悉的问题,就是在asp.net中使用资源文件。

我正在研究asp.net中的代码,它检查多个业务层类中的条件,并根据if条件,它应该以英语或法语向用户显示信息文本的pargraph。 该文本包含日期格式化函数,锚标记和锚标记的onclick事件。

示例是:

if((a=b)&&(c=a))
{
    <p>
    <b>mpus odio feugiat ac. Nulla blandit dolor vitae</b><br />
  ccumsan in sit amet erat. Quisque ac nulla tempus, maximus risus sed, dapibus arcu. Nullam nec enim tellus.
    <a href="/paycash">Click here </a>ctus aliquam, eu lacinia.
eget nibh est. In eu bibendum mi. Quisque quis est a risus tincidunt gravida. Morbi id finibus magna. Aene
  </p>
   <p>m et lectus aliquam, eu lacinia elit viverra. Donec a libero sed sem vestibulum posuere. Proin tristique enim purus <a href="http://a.a.com">click here</a>s est a risus tincidunt gravida. Morbi. m et lectus aliquam, eu lacinia elit viverra. Donec a libero sed sem vestibulum posuere. Pr</p>
  <p>
    <b><a name="dhjs"></a> Nulla blandit dolor vitae</b><br />
    <a target="_blank" onclick="window.open('.a/c/c, '_blank','width=1257,height=895'); return false" href="s/d/d/dd.com">Click here</a>  Donec a libero sed sem vestib
   </p>
   <p>tudin non lacus. In hac habitasse platea dictumst. Donec molestie efficitur ante eget  <%= FormatDateTime(oRs("ExpiryDate"),1) %>tudin non lacus. In hac habitasse platea dictumst. Donec molestie efficitur ante eget 
}
else if
{
}

我想将此结果文本存储到资源文件中。这样,如果条件为真,我应该将资源文件的密钥传递给aspx文件。但是,我确定如何实现这一目标? 我应该将完整的段落存储到资源文件中并将单个键传递回aspx文件中的标签,那么锚标签和函数将如何工作? 或者我应该把它分成几部分?如果我将它分成不同的键,我应该如何将资源键传递回aspx文件,我该怎么处理日期格式化函数和超链接?

另一个问题是将结果传递给aspx文件,我应该在标签文本中显示文本段落吗?

请帮忙。

1 个答案:

答案 0 :(得分:2)

你应该分手。

静态文本资源应该放在您的.resx文件中,并且可以使用一些c#代码(例如GetString)进行检索。通常,您不应将代码存储在资源文件中,因为它不会在那里进行验证,编译或缩小;另外,没有太多意义,因为代码不需要任何本地化支持(德语中的Javascript与英语中的Javascript完全相同)。

ASP标记和内联服务器端代码应该放在.aspx文件中。此外,静态HTML通常也应该进入.aspx文件(只省略runat="server"标记)。如果您认为您的应用程序永远不需要多语言支持,那么可以在那里存储一些文本,但如果可以的话,最好使用资源文件。

在最好的情况下,

Javascript代码应该放在单独的.js文件中并从您的网页引用,例如像这样

<script src="js/YourExternalJQueryScripts.js"></script>

如果您绝对需要内联Javascript,可以将其包含在.aspx文件中,或使用ClientScriptManager通过c#codebehind添加。