C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

ログ内検索
  • キーワードを複数指定する場合は 半角スペース で区切ってください。
  • 検索条件は、(AND)=[A かつ B] (OR)=[A または B] となっています。
  • [返信]をクリックすると返信ページへ移動します。
キーワード/ 検索条件 /
検索範囲/ 強調表示/ ON (自動リンクOFF)
結果表示件数/ 記事No検索/ ON
大文字と小文字を区別する

全過去ログを検索

<< 0 >>
■8784  Re[2]: showmodalDialogでウィンドウを開いた時の表示
□投稿者/ Alvin Lee -(2007/10/10(Wed) 09:38:03)
    No8776 (魔界の仮面弁士 さん) に返信
    > ■No8762 (Alvin Lee さん) に返信
    >>今、HTMLの画面の開く方法で、showmodalDialogを使います。
    > showmodalDialog ではなく、
    > showModalDialog ですよね。
    >
    >>画面の全体が上詰、左詰になります。つまり、画面全体が真ん中に表示されません。
    > 実際のコード等を見ていないので、具体的な回答はできかねますが、
    > おそらくは、スタイルシートの内容(margin/padding あたり)に不足があるのでは。


    返事ありがとうございます。
    padding の設定の変えて、解決しました。
記事No.8762 のレス / END /過去ログ20より / 関連記事表示
削除チェック/

■96066  ソート可能一覧がる検索画面でチェックボックスのデフォルト値
□投稿者/ はる -(2020/10/19(Mon) 17:54:28)

    分類:[.NET 全般] 

    VisualStudio2019のASP.NET MVCでEntityFrameworkのコードファーストにて開発しています。

    https://docs.microsoft.com/ja-jp/aspnet/mvc/overview/older-versions/getting-started-with-ef-5-using-mvc-4/sorting-filtering-and-paging-with-the-entity-framework-in-an-asp-net-mvc-application

    を参考にソート変更可能な一覧を持つ検索画面を作成しています。
    このチュートリアルでは、ソート(GET)も検索(POST)も同じIndexメソッドで実装されています。

    それを踏まえて以下のようなモデルをバインドして作成しています。

    ■ビューモデル
    public class SearchTvView          //このクラスは画面からの引数受け取り用
    {
    [DisplayName("ソート順")]
    public string SortOrder { get; set; }  //こちらはチュートリアルにある「sortOrder」パラメータです。

    [DisplayName("アニメフラグ")]
    public bool IsAnime { get; set; }    //アニメ番組かどうか

        [DisplayName("結果一覧")]
        public List<TvItemView> TvItemViews { get; set; }
    }

    public class TvItemView           //このクラスは一覧画面表示用
    {
    [DisplayName("テレビID")]
    public string TvId { get; set; }

    [DisplayName("番組名")]
    public bool TvName { get; set; }

        [DisplayName("アニメフラグ")]
        public bool IsAnime { get; set; }
    }

    ■ビュー
    <label>
      @Html.CheckBoxFor(m => m.IsAnime, new { @Selected = "Selected" })アニメ
    </label>


    ■コントローラー
      public async Task<ActionResult> Index(SearchTvView pSearchTvView)
    {
        SearchTvView model = pSearchTvView;

        //〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
        //「model.IsAnime」を使用して絞り込み
        // model.TvItemViewsに結果一覧を設定
        //〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜

        return View(model);
      }


    上記、内容で、検索、一覧の取得、並び替えはできているのですが、
    画面を表示した際の「model.IsAnime」をデフォルトTrueにすることが出来なく、悩んでいます。
    IndexメソッドがGETとPOSTで分かれていれば、GET時に
    model.IsAnime = true;
    をするだけで出来そうなのですが、チュートリアルのソートはActionLinkでGETで行うようになっています。
    このやり方は他の記事でも多く見受けられるので、一般的なやり方と認識しているのですが、
    チェックボックスのデフォルト値は設定できないのでしょうか?





親記事 /過去ログ166より / 関連記事表示
削除チェック/

■97668  Re[3]: VB.Net Main関数の非同期処理について
□投稿者/ 魔界の仮面弁士 -(2021/06/23(Wed) 17:24:10)
    2021/06/23(Wed) 17:33:23 編集(投稿者)

    No97667 (RS さん) に返信
    > Task.WaitAll(非同期処理のList)としてみたのですが、ログを見る限り、タスクは開始されていましたが
    > このタスクが完了する前にMainの処理が終わってしまっていました。

    WaitAll が受け付けるのは配列です。List は渡せませんよ。
    WhenAll と勘違いしていませんか?


    Task.WhenAll の場合、Task の終了を待たずに次の行に進みます。
    Task.WaitAll の場合、Task が終わるまでスレッドをブロックします。


    Imports System.Diagnostics
    Imports System.Threading
    Imports System.Threading.Tasks

    Module Module1
     Sub Main()
      Dim sw = Stopwatch.StartNew()
      Dim t1 As New List(Of Task)()
      t1.Add(Task.Run(Sub() Thread.Sleep(2000)))
      t1.Add(Task.Run(Sub() Task.Delay(2000)))
      t1.Add(Task.Delay(2000))
      Console.WriteLine("===> Task.WhenAll Start")
      Dim t = Task.WhenAll(t1)
      Console.WriteLine("<=== Task.WhenAll End at " & sw.Elapsed.ToString())
      t.Wait()
      Console.WriteLine("<=== Task.WhenAll Finished " & sw.Elapsed.ToString())

      sw = Stopwatch.StartNew()
      Dim t2 As New List(Of Task)()
      t2.Add(Task.Run(Sub() Thread.Sleep(2000)))
      t2.Add(Task.Run(Sub() Task.Delay(2000)))
      t2.Add(Task.Delay(2000))
      Console.WriteLine("===> Task.WaitAll Start")
      'Console.WriteLine(Task.WaitAll(t2.ToArray(), TimeSpan.FromMilliseconds(700)))
      'Console.WriteLine(Task.WaitAll(t2.ToArray(), Timeout.Infinite))
      Task.WaitAll(t2.ToArray())
      Console.WriteLine("<=== Task.WaitAll End at " & sw.Elapsed.ToString())

      Console.WriteLine("Hit Any Key...")
      Console.ReadKey()
     End Sub

    End Module
記事No.97661 のレス /過去ログ169より / 関連記事表示
削除チェック/

■97669  Re[4]: VB.Net Main関数の非同期処理について
□投稿者/ RS -(2021/06/23(Wed) 17:43:12)
    No97668 (魔界の仮面弁士 さん) に返信
    > 2021/06/23(Wed) 17:33:23 編集(投稿者)
    >
    > ■No97667 (RS さん) に返信
    >>Task.WaitAll(非同期処理のList)としてみたのですが、ログを見る限り、タスクは開始されていましたが
    >>このタスクが完了する前にMainの処理が終わってしまっていました。
    >
    > WaitAll が受け付けるのは配列です。List は渡せませんよ。
    > WhenAll と勘違いしていませんか?
    >
    >
    > Task.WhenAll の場合、Task の終了を待たずに次の行に進みます。
    > Task.WaitAll の場合、Task が終わるまでスレッドをブロックします。
    >
    >
    > Imports System.Diagnostics
    > Imports System.Threading
    > Imports System.Threading.Tasks
    >
    > Module Module1
    >  Sub Main()
    >   Dim sw = Stopwatch.StartNew()
    >   Dim t1 As New List(Of Task)()
    >   t1.Add(Task.Run(Sub() Thread.Sleep(2000)))
    >   t1.Add(Task.Run(Sub() Task.Delay(2000)))
    >   t1.Add(Task.Delay(2000))
    >   Console.WriteLine("===> Task.WhenAll Start")
    >   Dim t = Task.WhenAll(t1)
    >   Console.WriteLine("<=== Task.WhenAll End at " & sw.Elapsed.ToString())
    >   t.Wait()
    >   Console.WriteLine("<=== Task.WhenAll Finished " & sw.Elapsed.ToString())
    >
    >   sw = Stopwatch.StartNew()
    >   Dim t2 As New List(Of Task)()
    >   t2.Add(Task.Run(Sub() Thread.Sleep(2000)))
    >   t2.Add(Task.Run(Sub() Task.Delay(2000)))
    >   t2.Add(Task.Delay(2000))
    >   Console.WriteLine("===> Task.WaitAll Start")
    >   'Console.WriteLine(Task.WaitAll(t2.ToArray(), TimeSpan.FromMilliseconds(700)))
    >   'Console.WriteLine(Task.WaitAll(t2.ToArray(), Timeout.Infinite))
    >   Task.WaitAll(t2.ToArray())
    >   Console.WriteLine("<=== Task.WaitAll End at " & sw.Elapsed.ToString())
    >
    >   Console.WriteLine("Hit Any Key...")
    >   Console.ReadKey()
    >  End Sub
    >
    > End Module

    なるほど!完全に勘違いしていました。
    解決できそうです!ありがとうございます!

記事No.97661 のレス / END /過去ログ169より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -