DataGridに配置されたDropDownList_AからDropDownList_Bのリストを変更する

  • 2012.07.06 Friday
  • 18:39
DataGridに配置されたDropDownList_Aを選択したら、同じDataGridに配置されたDropDownList_Bのリストを変更する方法
同じ要素を含むDataGridが複数あっても対応できる!
■C#
protected void DropDownList_A_SelectedIndexChanged(object sender, System.EventArgs e)
{
DropDownList dl = (DropDownList)sender;
DataGrid dg = (DataGrid)dl.Parent.Parent.Parent.Parent;
DropDownList DropDownList_B = (DropDownList)dg.Items[((DataGridItem)dl.Parent.Parent).ItemIndex].FindControl("DropDownList_B");
DropDownList_B.DataSource = データセット;
DropDownList_B.DataBind();
}

SpreadSheetGear

  • 2012.07.03 Tuesday
  • 17:14
「SpreadSheetGear 」を使用しての.netの開発 // 新しいワークブックの作成 SpreadsheetGear.IWorkbook workbook = SpreadsheetGear.Factory.GetWorkbook(); SpreadsheetGear.IWorksheet worksheet = workbook.Worksheets["Sheet1"]; SpreadsheetGear.IRange cells = worksheet.Cells; // ワークシート名の設定 worksheet.Name = "2006 Sales"; // 列タイトルの設定、配置 (中央揃え)、フォント名の指定 cells["B1"].Formula = "マリー"; cells["C1"].Formula = "トム"; cells["D1"].Formula = "ジェーン"; cells["E1"].Formula = "リック"; cells["B1:E1"].HorizontalAlignment = SpreadsheetGear.HAlign.Center; // フォントの指定 worksheet.Cells.Font.Name = "MS P明朝"; // シート全体 cells["A1:E1"].Font.Name = "MS UI Gothic"; // 1 行目 cells["A2:E5"].Font.Name = "MS Pゴシック"; // 2 行目以降 // 複数のセル参照と反復を使用して行タイトルを設定 int quarter = 1; foreach (SpreadsheetGear.IRange cell in cells["A2:A5"]) cell.Formula = "第" + quarter++ + " 期"; // ランダムデータの設定と複数のセル範囲を使用して「¥」マーク書式を設定 SpreadsheetGear.IRange body = cells[1, 1, 4, 4]; body.Formula = "=RAND() * 10000"; body.NumberFormat = "¥¥¥¥#,##0_);(¥¥¥¥#,##0)"; // Excel ファイルの書き出し workbook.SaveAs("c:¥¥temp¥¥sample.xls",SpreadsheetGear.FileFormat.XLS97);

Microsoft JScript 実行時エラー: 'Sys' は宣言されていません。

  • 2012.04.06 Friday
  • 14:58
 サイト構築の際、「Microsoft JScript 実行時エラー: 'Sys' は宣言されていません。」
原因は、web.configにあった。
原因は不明だが、赤字部分を追加してやることで、解決した。

<system.webServer>
<validation validateIntegratedModeConfiguration="false"/>
<modules>
<add name="ScriptModule" preCondition="integratedMode" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
</modules>
<handlers>
<remove name="WebServiceHandlerFactory-Integrated"/>
<add name="ScriptHandlerFactory" verb="*" path="*.asmx" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
<add name="ScriptHandlerFactoryAppServices" verb="*" path="*_AppService.axd" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
<add name="ScriptResource" preCondition="integratedMode" verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
</handlers>
</system.webServer>

Buttonコントロールクリック時のJavaScript処理

  • 2012.04.05 Thursday
  • 13:56
登録画面などで、実行や削除ボタンを押したときに確認のメッセージを出したり、
閉じるボタンを押したときに画面を閉じるといったことをしたい場合に
JavaScriptを使用して実現させることができます。

例)
 <input type="button" id="btnSubmit" value="クリック"
    onclick="return confirm('削除します。よろしいですか?');" />

上記のようにHTMLコントロールを使用すれば、ポップアップでメッセージを
表示させることができますが、WebコントロールであるButtonコントロールに対して
設定することはできません。

 <asp:Button id="btnSubmit" runat="server" Text="クリック"
    onclick="return confirm('削除します。よろしいですか?');" />

Webコントロールに設定するには、サーバーから送信されるHTML内のinputタグの
onclick属性にJavaScriptの記述を挿入する必要があります。
その場合に「Attributes」プロパティを使用し、Page_Load処理などで以下のような
設定をしておきます。

 Me.btnSubmit.Attributes("onclick")
      = "return confirm('削除します。よろしいですか?');"


また、これとは逆に、ボタンを押して入力チェックを行った後に画面遷移をするなど
イベントの最中にJavaScript処理を行いたい場合は以下を使用すると、
イベント終了後にJavaScriptを発動させることができます。

 Page.ClientScript.RegisterStartupScript(Type, Key, "動かしたいスクリプト")

VBとJavaScriptの組み合わせで結構何でもできて便利です。

ASP.NET 1.1が実行されてないエラーの対処

  • 2012.03.08 Thursday
  • 13:33
Visual Studio .NETでASP.NET WebアプリケーションやASP.NET Webサービスのプロジェクトを作成するとき、「指定されたWebサーバーでASP.NET Version 1.1が実行されていません。ASP.NET Webアプリケーションまたはサービスを実行することはできなくなります。」というエラーが発生する時の対処方法。

(1).NET Framework 1.1がインストールされているかチェック。インストールされていなければ、Windows Updateもしくは次のサイトから再配布可能パッケージを入手してインストールします。
  • Microsoft .NET Framework Version 1.1 再頒布可能パッケージ

  • (2).NET Framework 1.1がインストールされているにもかかわらず、このエラーが発生する場合は、ASP.NET 1.1を再登録する必要があります。再登録の方法は次の手順で行います。
    1.「ファイル名を指定して実行」を起動します(Windowsキー+「R」キー)。
    2.表示されるダイアログに「%SYSTEMROOT%¥Microsoft.NET¥Framework」を入力して実行。
    3.表示されるエクスプローラの中からVersion 1.1用のフォルダ「v1.1.????」(例:v1.1.4322)を開きます。
    4.「aspnet_regiis.exe」があるのを確認してください。
    5.再度「ファイル名を指定して実行」を起動して、「cmd」と入力して実行します。
    6.コマンド プロンプトが起動するので、そのウィンドウ内に先ほどの「aspnet_regiis.exe」をドラッグ&ドロップしてください。
    7.すると、「aspnet_regiis.exe」のフル パスが自動的に入力されます。
    8.フル パス後に1つ半角スペースを空けて「/i」(インストールの意味)と入力して実行します。
    9.以上で、ASP.NETへの.NET Framework 1.1のインストールが完了します。

    ちなみに、「aspnet_regiis.exe」のオプションで「/u」を入力すると、アンインストールできます。

    ASP.NET パフォーマンスを向上させる

    • 2012.03.08 Thursday
    • 13:26
    ASP.NET パフォーマンス

    ASP.NETコンパイルエラー1

    • 2012.03.08 Thursday
    • 11:19
    asp_error

    何が原因?エラーを見ると
    「System.Web.Extensions が ない」っていってます
    解決方法
    サーバーに、「ASP.NET AJAX Extensions 1.0」をインストールする。
    .NET Framework 3.0 もインストールしていなければ、インストールする。(Languageパック、サービスパックもね)

    ASP.NETコンパイルエラー2

    • 2012.03.07 Wednesday
    • 20:04
    コンパイルエラー「エラー1 アプリケーション レベルを超えて allowDefinition='MachineToApplication' として登録されているセクションを使うことはできません。このエラーは、仮想ディレクトリが IIS でアプリケーションとして構成されなかった場合に発生します。 C:¥…¥Web.Config 61」 IISで仮想フォルダを同じ名前で何度か登録→削除を繰り返すと、ルートフォルダに「Bcakup」フォルダが自動的に作成される。そこにバックアップファイルが作成されるため、web.configが複数存在することになるのでコンパイルエラーになるようだ。デフォルトでは、web.configはルート直下に1つだけ存在することが条件となっている。ルート直下以外のweb.configファイルを削除することで、コンパイルエラーを回避することができる。
    続きを読む >>

    VisualSourceSafeからのサイト追加

    • 2012.03.07 Wednesday
    • 14:39
    IIS→仮想ディレクトリを作成「suitname」
    VisualStudio→ファイル→開く(ソリューションに追加する場合は「追加」を選択)→「Webサイト」→「ローカルIIS」で,悩鄒した仮想ディレクトリを選択
    VisualStudio→ソース管理→ソース管理の変更→該当するソリューションを選択してバインド
    VisualStudio→ソリューションエクスプローラー右クリックで最新バージョン取得