您好我已经实现了一个代码,在该代码中,添加到购物车时项目会添加,并且还会打开一个弹出窗口,显示购物车项目。 在桌面上它运行良好,但在移动设备上它不工作。 对于移动设备来说,它是错误的
Uncaught ReferenceError: showvalue is not defined
以下是我的以下代码
<script type="text/javascript">
function showvalue(value, product) {
$('#<%= lblproduct1.ClientID %>').text(product);
$('#<%= lblVessel.ClientID %>').text(value);
$('.cart_popup').show();
setTimeout(function () {
$('.cart_popup').fadeOut('slow');
}, 5000);
return false;
}
function Showprogress() {
$('#<%= Progress.ClientID %>').show();
}
.ascx页面上的Html侧
<asp:Button ID="AddToBasketButton" OnClientClick="Showprogress()" runat="server" OnClick="AddToBasketButton_Click" EnableViewState="false" ValidationGroup="AddToBasket" Text="Add to Cart" />
我的.cs边码(传递总数和产品数量)
ScriptManager.RegisterClientScriptBlock(this.Page, typeof(UpdatePanel), UniqueID, "showvalue('" + Total + "','" + productquantity + "');", true);
我只面临移动设备的问题。 点击按钮,我的页面刷新,弹出窗口没有打开
答案 0 :(得分:1)
我删除了jquery弹出窗口并使用了Ajax Modal弹出窗口。 弹出窗口打开正常,因为我从.cs方面调用它,但是在5秒之后自动隐藏它,在那种情况下我没有使用下面的代码。
<asp:Button ID="AddToBasketButton" OnClientClick="Showprogress();" runat="server" OnClick="_Click" Text="button" />//button click and onclient click
//Below div is only showing processing image :-)
<div id="Progress" runat="server" style="display: none;">
<img src="../images/spinner.gif" />
</div>
我的剧本
<script type="text/javascript">
$(document).ready(function () { hide_pop(); });
function Showprogress() {
$('#<%= Progress.ClientID %>').show();
hide_pop();
return false;
}
function hide_pop() {
setTimeout(function () {
$('.popup_cart_main').fadeOut('slow');//Popup Panel class
$('.modalBackground').fadeOut('slow');//Background blacklayout Class
}, 5000);
return false;
}
Modalpopup
<asp:LinkButton ID="lnkDummy" runat="server" ></asp:LinkButton>
<cc1:ModalPopupExtender ID="ModalPopupExtender1" BehaviorID="mpe" runat="server"
PopupControlID="pnlPopup" TargetControlID="lnkDummy" BackgroundCssClass="modalBackground" >
</cc1:ModalPopupExtender>
<asp:Panel ID="pnlPopup" runat="server" CssClass="popup_cart_main" Style="display: none">
<div class="cart_popup" >
Solved
</div>
</asp:Panel>
此代码适用于所有浏览器和所有移动设备,包括iphone&amp;的Android 强>
我也认为(根据实际问题)如果我没有删除jquery弹出窗口并且只放在代码下方,我的弹出窗口也开始在移动设备上工作
$(document).ready(function () { showvalue (); });// based on actual question
答案 1 :(得分:0)
确保在调用RegisterClientScriptBlock之前呈现脚本。 HTML解析是线性的。
答案 2 :(得分:0)
应该是:
<script type="text/javascript">
function showvalue(value, product) {
$('#<%= lblproduct1.ClientID %>').text(product);
$('#<%= lblVessel.ClientID %>').text(value);
$('.cart_popup').show();
setTimeout(function () {
$('.cart_popup').fadeOut('slow');
}, 5000);
return false;
}
function Showprogress() {
$('#<%= Progress.ClientID %>').show();
}
</script>
在javascript中:
<script type="text/javascript"> var jName = '<%=cName()%>'</script>
在c#中:
protected string cName() {
return "examplevarcontent";
}