2017-02-09 42 views
0

我有一個頁面,例如desktop.aspx?customerID=345 & mobile.aspx?customerID=345。兩個頁面具有相同的功能。所以supposer用戶在這裏desktop.aspx?customerID=345和屏幕尺寸小於700px,那麼它應該重定向到mobile.aspx?customerID=345。現在與Jquery我可以做這個重定向,但在這裏我也有動態查詢字符串。如果頁面尺寸小於700px,asp.net會重定向到另一個網址

是否可以在.aspx文件後面的代碼中檢測屏幕大小?

+0

爲什麼需要在代碼背後而不是客戶端?你可以使用JQuery。如果您需要它回到服務器,您可以使用AJAX將屏幕大小傳回服務器 – Alex

+0

@Alex請向我展示一些虛擬代碼,我可以在其中解析jquery值以便在代碼隱藏文件中進行字符串處理。 – SUN

+0

您可以使用用戶的解決方案設置cookie,並在代碼中使用該cookie,無需使用AJAX(取決於用例)。但請注意,700px是確定手機的任意數字。例如,我的手機具有比這更多的水平像素(2560x1440)。 –

回答

0

查看屏幕和瀏覽器的寬度,你可以使用JavaScript匹配媒體:

對於瀏覽器:

var isBrowserLessThan700 = (window).matchMedia('screen and (max-width: 700px)').matches; 

對於屏幕:

var isDeviceLessThan700 = (window).matchMedia('screen and (max-device-width: 700px)').matches; 

如果結果爲真:

window.loacation.href= "What-You-Want"; 
0

解決方案1: - 在客戶端創建隱藏字段變量。

.aspx文件: -

<asp:HiddenField ID="hdncustomerID" runat="server" /> 

腳本: -

<script type="text/javascript"> 
var hdncustomerID = $('hdncustomerID').Val(); //if u use Jquery 

     $(document).ready(function() { 
      if ($(window).width() < 700) { 
       window.location = mobile.aspx?customerID=123; 
      } 
     }); 
</script> 

解決方案2: -

protected void Page_Load(object sender, EventArgs e) 
    { 
     var CustomerID = 1; 

     StringBuilder strScript = new StringBuilder(); 
     strScript.Append("<script type=\"text/javascript\">"); 
     strScript.Append("$(document).ready(function() {"); 
     strScript.Append("if ($(window).width() < 700) {"); 
     strScript.Append("window.location = mobile.aspx?customerID='"); 
     strScript.Append(CustomerID); 
     strScript.Append("';"); 
     strScript.Append("}"); 
     strScript.Append(" });"); 
     strScript.Append("</script>"); 

     ClientScriptManager script = Page.ClientScript; 
     script.RegisterClientScriptBlock(this.GetType(), "redirect", strScript.ToString()); 

    } 

希望它的工作!

+0

我需要解析大小以便後面的代碼&我需要檢查。如果屏幕尺寸小於700,我會將其重定向到另一個頁面。在這裏,我不能重定向到客戶端的任何其他頁面,因爲鏈接包含querystrings,即mobile.aspx?customerID = 123。如果我做客戶端重定向,那麼我只能給mobile.aspx – SUN

+0

@SUN我編輯我的答案....希望它的工作! –

相關問題