2

私はこのサイトで答えを探していましたが、行き詰まっています。

誰かが次の質問で私を助けてくれますか?VBで記述されたASP.NETプロジェクトがあり、jQueryMobile1.2.0バージョンを使用しています。

2つのボタン(ログイン/バージョン情報)があるデフォルトのページがあります。これらは機能し、ログインページにリダイレクトされます。ただし、ログインページでは、ログインボタンイベントは発生しません。デフォルトページにリダイレクトされるだけです。単純なリダイレクトボタンを使用したバージョン情報ページでも同じことが言えます。

ただし、ログインページを更新すると、ボタンは機能しますか?

以下はコードです:

<%@ Page Title="Login" Language="vb" EnableEventValidation="false" AutoEventWireup="false" MasterPageFile="~/Site.Master" CodeBehind="login.aspx.vb" Inherits="Sequencing.login" %>
<asp:Content ID="Content1" ContentPlaceHolderID="page_title" runat="server">
Login
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="head" runat="server">
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="pageheader" runat="server">
<h1>Login</h1>
</asp:Content>

<asp:Content ID="Content4" ContentPlaceHolderID="body" runat="server">

<asp:LinkButton ID="LinkButton1" data-role="button" data-rel="dialog" 
    data-transition="pop" runat="server" 
    Visible="False">LinkButton</asp:LinkButton>

<div align=center class="ui-bar ui-bar-c">

<asp:Image ID="Image1" runat="server" ImageUrl="~/images/McD_logoimage.png" /><br />

<h3>Planning the Future</h3>

<asp:UpdatePanel ID="UpdatePanel1" runat="server">
   <ContentTemplate>

<asp:Login ID="Login1" DestinationPageUrl="~/user/Main.aspx" runat="server" Width="100%">
<LayoutTemplate>
<asp:TextBox ID="UserName" runat="server" value placeholder="Username"></asp:TextBox>
<asp:RequiredFieldValidator ID="cvUserName" runat="server" ControlToValidate="UserName" ToolTip="User Name is required." ValidationGroup="Login1" Display="Dynamic">    </asp:RequiredFieldValidator>
<asp:TextBox ID="Password" runat="server" type="password" runat="server" value placeholder="Password"></asp:TextBox>
<asp:RequiredFieldValidator ID="cvPassword" runat="server" ControlToValidate="Password"     ToolTip="Password is required." ValidationGroup="Login1" Display="Dynamic">            </asp:RequiredFieldValidator>
<asp:CheckBox ID="RememberMe" runat="server" Text="Remember me!" />
<asp:Literal ID="FailureText" runat="server" EnableViewState="False"></asp:Literal>
<asp:Button ID="LoginButton" runat="server" data-role="button" data-theme="b"     CommandName="Login" Text="Log In" ValidationGroup="Login1" onclick="LoginButton_Click" />
    </LayoutTemplate>
</asp:Login>
    </ContentTemplate> 
</asp:UpdatePanel>
</div>
</asp:Content>

よろしくお願いします。

これに加えて、jQuery Mobileを無効にする方法を調べ、jQueryが参照されているサイトマスターにコードを追加しましたが、それでも喜びはありません。

<script>
    $(document).bind("mobileinit", function () {
        //apply overrides here
        $.mobile.ajaxEnabled = false;
    });
</script>
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.2.0/jquery.mobile-1.2.0.min.css" />
<script type="text/javascript" src="http://code.jquery.com/jquery-1.8.2.min.js">    </script>
<script type="text/javascript"     src="http://code.jquery.com/mobile/1.2.0/jquery.mobile-1.2.0.min.js"></script>

他の誰かが何かアイデアを持っていますか?

4

3 に答える 3

2

を開いてjQuery-mobile.js「送信」を検索すると、送信動作はモバイルバージョンので異なる方法で実装され.jsます。

したがって、モバイルでの送信機能についてコメントしてくださいjs。そうすると、asp.netフォームがその動作に従って送信されます。

モバイルでの送信動作にコメントするとjs、機能が失われることはないので、コメントアウトするだけです。

于 2013-02-14T08:13:25.513 に答える
1

ログインページを更新すると、フォームは次のようになります。

<form method="post" action="Login.aspx" onsubmit="javascript:return WebForm_OnSubmit();" id="form1" class="ui-mobile-viewport ui-overlay-c">

ただし、最初にhttp://seq-dev.rs-mcd.co.uk/に移動し、[ログイン]をクリック<form>すると、ログインページの要素は次のようになります。

<form method="post" action="" id="form1" class="ui-mobile-viewport ui-overlay-c">

actionフォームには、ASP.NETが正しく機能するために必要な正しい値またはonsubmit値がないことに注意してください。

私はjQueryMobileの経験があまりありませんが、ASP.NETを台無しにしている「AJAXナビゲーション」の魔法を実行していることはわかります。一般的に言って、ASP.NETはjQuerymobileとうまく連携しません(またはその逆ですか?)。たぶん、あなたはどういうわけかAJAXナビゲーションを無効にすることができます-それはトリックをするかもしれません。AJAXナビゲーションを無効にできない場合は、ASP.NETのサーバー側イベントでこの問題が引き続き発生します。

うまくいけば、これはあなたを正しい方向に向けます。

編集

いくつか検索した後、jQueryMobileAJAXナビゲーションを無効にする方法を説明するこのブログ投稿を見つけました。関連するスニペットは次のとおりです。

<script type="text/javascript">
  $(function() {
    // disable ajax nav
    $.mobile.ajaxLinksEnabled = false;
  });
</script>

お役に立てれば!

于 2012-11-30T13:43:22.183 に答える
0

送信動作をfalseに設定してから、以下のようにOnClickイベントを追加する必要があります。

.aspxページ-asp:Button runat = "server" ID = "btnSubmit" Text = "Submit" CssClass = "Button" UseSubmitBehavior = "false" OnClick = "btnSubmit_Click">

.aspx.vbページ-

リージョン「ボタンクリック送信」

Protected Sub btnSubmit_Click(sender As Object, e As EventArgs)

    Response.Redirect("CanegateMidShiftTempB6TY.aspx")

End Sub

終了リージョン

于 2020-06-18T07:09:05.043 に答える