そのようなアイテムは存在しません

ASP.NET MVC の変なエラーの対処方法

前の記事で変なエラー「名前 '__o' は宣言されていません。」でハマリましたが、その対処法がわかったので、とりあえずメモします。
何で対処法がわかったかというと、勉強を進めていくうちにDB連携のところで自動的に作成されたWebページ(aspx)にコメントとして埋め込まれていました。
    <%--The line below is a workaround for a VB / ASPX designer bug--%>
    <%=""%>
こんな感じで、どうやらVisualStudioのデザイナのバグのようです。

では、早速対処の方法ですが、いたって簡単。
ソースはBODY句だけを載せておきます。
エラーは赤の行で発生していました、オレンジの行を追加することでエラーはなくなります。
<% Using Html.BeginForm()%>の前に追加することがポイントかな?
<body>
    <%--下記の行は、VB/ASPXデザイナーのバグの回避です--%>
    <%=""%>

    <div>
    <% Using Html.BeginForm()%>
        <label for="name">名前:</label>
        <%=Html.TextBox("name")%>
        <%=Html.ValidationMessage("name", "*")%>
        <input type="submit" value="送信" />
    <% End Using%>
    <%=Html.ValidationSummary("以 下のエラーが発生しました。")%>
    </div>
</body>
なんだか狐につままれたようですが、ホントにこれだけでした。
しかもデザイナのバグ?ということなのでエラーを気にせずに実行してしまっても問題ないようです。ヤレヤレ

と、問題解決したかのように見 えますが新たな問題が。
MVC1の記事でMVC2を試している時点でアウトなのですが、DB連携で更新が上手くいかない。
上手くいかない といっても正常系(データの内容を正しく入力した)の場合はOKなのですが、たとえば必須入力項目に対して未入力だったなどの場合、もう一度編集画面に戻 ろうとするときエラーとなってしまう。
デバッグしてみると、編集内容が入ってこないわけで、これまたGoogle先生のお世話になりそうですわ。

あとひとつ疑問が・・・MVCに絡まないような静的ページはどう設置するんだろう?



Comment Form
%3c%69%6e%70%75%74%20%74%79%70%65%3d%22%68%69%64%64%65%6e%22%20%6e%61%6d%65%3d%22%6e%70%5f%70%72%6f%74%65%63%74%62%79%6d%64%35%22%20%76%61%6c%75%65%3d%22%34%61%33%66%64%64%63%39%36%39%37%37%33%35%32%35%64%31%31%64%38%30%34%32%39%62%63%38%37%65%62%66%22%3e %3c%69%6e%70%75%74%20%74%79%70%65%3d%22%68%69%64%64%65%6e%22%20%6e%61%6d%65%3d%22%6e%70%5f%70%72%6f%74%65%63%74%62%79%6d%64%35%5f%68%61%73%68%22%20%76%61%6c%75%65%3d%22%39%66%38%30%65%62%61%30%32%37%30%66%38%64%65%37%37%30%35%30%32%37%64%64%35%39%35%30%36%61%30%30%22%3e

Trackback: 0

TrackBack URL for this entry
http://www.furuken.net/blog/action.php?action=plugin&name=TrackBack&tb_id=341
Listed below are links to weblogs that reference
ASP.NET MVC の変なエラーの対処方法 from ぼそぼそ
そのようなアイテムは存在しません

Page Top