1

フィールドが 1 つだけのフォームと送信ボタンがある 1 ページだけのシンプルなサイトがあります。

電話番号を要求し、フォームに取り込まれた電話番号の値を使用してストアド プロシージャを呼び出します。送信されると、番号が送信されたことをユーザーにフィードバックし、ユーザーが別の電話番号を入力できるようにページに残ります。

そこで、次のような cshtml ファイルを作成しました。

@{
string pn=Request.Form["pn"]
and then my code to call the stored procedure with pn as a parameter
}

私が抱えている問題は、このページに移動すると、ストアド プロシージャが指定されていないパラメーターを予期しているというエラーがサーバー側でスローされることです。

onloadしたがって、値がある場合にのみストアド プロシージャを呼び出すページを実行する JavaScript 関数を作成したいと考えpnています。

その方法と、コードをどこに配置する必要がありますか (@{}ブロック内の JS?)

ところで、今のところ、2ページあります。1 つ目はサーバー側コードなし、2 つ目はコピーにサーバー側コードを加えたものです。

4

1 に答える 1

1

そもそも、入力クライアント側を検証するためのJavaScript関数は必要ありませんが、フォームが送信されたかどうか、およびフィールドに有効な値があるかどうかをテストするためのサーバー側コードが必要です。

何かのようなもの:

@{
    if (IsPost)
    {
        string pn=Request.Form["pn"];
        if (!string.IsNullOrEmpty(pn)){
            /* your code to call the stored procedure */
        }
    }
}

このテーマをさらに深めたい場合は、このチュートリアルを参照してください:ASP.NET Webページ(Razor)サイトでのデータベースの操作の概要

于 2013-01-16T22:01:59.557 に答える