1

asp.net 2.0 スクリプトを変更して、URL 変数に基づいてデータベースから動的に値を収集しようとしていますが、それぞれ独自のハードコードされた値を持つ複数のバージョンのスクリプトを使用するのではありません (動作するように設計されていました)。

エラーは次のとおりです。

Line 51:     Private MSG_FROM As String = "valuehere"
Line 52:     Private MSG_FROM_NAME As String = "valuehere"
Line 53:     Private MSG_SUBJECT As String = "<%# forms.FieldValue("MSG_SUBJECT", Container) %>"
Line 54:     Private MSG_BODY As String = "valuehere"

問題は 53 行目です。これは、データベース値を取得するために設定した、このテスト実行の唯一の変数です。値がハードコーディングされていれば、データベース接続は問題なく、スクリプトは正常に動作します。

問題が何であるかについて誰かが私に洞察を与えることができますか? MSDN は、行末記号を挿入する必要があると述べています。2 番目の引用符の後に/r/nandを試しましたが、うまくいきませんでした。Environment.NewLine

これは私が理解できる言語ではありませんが、入力する必要がある非常に基本的なものであることを願っています。

ありがとう、ベン


応答によるいくつかの追加情報:

MSG_SUBJECT は、その名前の db セルへの呼び出しです。値は、生成する電子メールの件名を指定するプレーン テキストです。ここでの両方のソリューションで動作するスクリプトが得られましたが、最初の電子メールは <%# forms.FieldValue("MSG_SUBJECT", Container) %> という件名で送信され、2 番目の電子メールは <%# forms.FieldValue('MSG_SUBJECT', Container) %> したがって、それを db テーブル セルを参照していると認識せず、変数自体として認識します。通常、コード内では rivate MSG_SUBJECT As String = "完成したフォームが添付されています" と言い、次の変数がその下の行に続きます。しかし、実際には、コードにはもう少しあります。スクリプト全体がサーバー側で実行されます。投稿フォーム ページ内にこれらの変数を含めることはできますが、これは機能しますが、スクリプトは、URL サブミット機能を使用した acroform からサブミットされた FDF データも受信できるため、私が望むソリューションではありません。したがって、このモードでは、これらのメッセージ変数をサーバー側スクリプト内に含める必要があります。あなたが言ったように、これが可能かどうかは本当にわかりません。変数をデータベース内に保持することは、ハードコーディングされた変数を含む複数のバージョンのスクリプトを使用するよりも、新しいフォームの管理と展開がはるかに簡単であるため、単なるパントです。 . ご協力ありがとうございます。ハードコーディングされた変数を含むスクリプトの複数のバージョンを使用するよりも、データベース内に変数を保持する方が、新しいフォームの管理と展開がはるかに簡単であるため、これは単なるパントです。ご協力ありがとうございます。ハードコーディングされた変数を含むスクリプトの複数のバージョンを使用するよりも、データベース内に変数を保持する方が、新しいフォームの管理と展開がはるかに簡単であるため、これは単なるパントです。ご協力ありがとうございます。

4

2 に答える 2

1

構文エラーです。次のように"文字列を2倍にして、文字列内の文字をエスケープする必要があります。

Private MSG_SUBJECT As String _
    = "<%# forms.FieldValue(""MSG_SUBJECT"", Container) %>"

しかし、それではあなたの本当の問題は解決しないと思います。<%#コードではなく、aspxフォームページにタグを書き込む必要があります。何してるのMSG_SUBJECT

于 2012-04-20T14:06:03.623 に答える
0

これを変更してみてください:

 "<%# forms.FieldValue("MSG_SUBJECT", Container) %>"

これに: "<%# forms.FieldValue('MSG_SUBJECT', Container) %>"

MSG_Subjectを二重引用符で囲むと、おそらく最初の引用符が文字列の終わりであると見なされます。

この方法では物事を変数にバインドできないため、これを実行しようとしている方法は実際には機能しないと感じています。<%%>はページのhtm側で使用されていますが、変数はサーバー側に見えますか?

たぶんあなたのコードをもう少し見せてください。

アップデート

これはおそらく役に立ちます:

http://msdn.microsoft.com/en-us/library/dw70f090(v=vs.100).aspx

それの音であなたがする必要があるのはある種のIDに基づいてデータベースから主題を取得することだけですか?次に、それを変数に割り当てますか?

于 2012-04-20T14:10:27.010 に答える