将xsl代码迁移到asp.net / c#
本文关键字:net asp xsl 代码 迁移 | 更新日期: 2023-09-27 18:07:37
我被要求将一些代码迁移到我们新的asp.net web应用程序中,但我对asp.net非常不熟悉。
下面的代码块检测用户设备并相应地更改url。我需要使用asp.net/c#进行相同的逻辑,但我不知道从哪里开始。
任何帮助都是非常感谢的。
<xsl:variable name="useragent" select="lower-case(request:getHeader($request, 'user-agent'))"/>
<xsl:variable name="is_iphone" select="string(contains($useragent, 'iphone;') or contains($useragent, 'ipad;') or contains($useragent, 'ipod;'))"/>
<xsl:variable name="is_blackberry" select="string(contains($useragent, 'blackBerry'))"/>
<xsl:variable name="is_android" select="string(contains($useragent, 'android'))"/>
<xsl:variable name="application_url">
<xsl:choose>
<xsl:when test="$is_iphone = 'true'">
<xsl:value-of select="f:getEnvParameter(concat('url.app.iphone.', $param_client), '')"/>
</xsl:when>
<xsl:when test="$is_blackberry = 'true'">
<xsl:value-of select="f:getEnvParameter(concat('url.app.blackberry.', $param_client), '')"/>
</xsl:when>
<xsl:when test="$is_android = 'true'">
<xsl:value-of select="f:getEnvParameter(concat('url.app.android.', $param_client), '')"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="''"/>
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:variable name="application_url_exists" select="string-length(string($application_url)) != 0"/>
像这样:
//create your application url - for whatever you use this for after
var applicationUrl = string.Empty;
//Get the user agent
var userAgent = Request.ServerVariables["HTTP_USER_AGENT"];
//test the useragent and set application url
if(userAgent.Contains("blackBerry"))
{
applicationUrl = "url.app.blackberry";
} else if(userAgent.Contains("android"))
{
applicationUrl = "url.app.android";
}...etc
然后使用你的applicationUrl,但你需要以后…可能是一些重定向或其他…
像这样的东西应该会让你得到大部分的方式。如果你能提供如何连接URL的详细信息,我将更新我的答案:
这可能是最简单的方法,取决于"app"是否发生了变化:
string applicationUrl = String.Format("mysiteurl.app.{0}", Request.UserAgent.ToLower());
如果您需要基于用户代理对路径做进一步的操作,您可以这样做:
string userAgentPath = String.Empty;
switch (Request.UserAgent.ToLower())
{
case "iphone":
userAgentPath = "app.iphone";
break;
case "blackberry":
userAgentPath = "app.blackberry";
break;
case "android":
userAgentPath = "app.android";
break;
}
string applicationUrl = String.Format("mysiteurl.{0}", userAgentPath);