2

Visual Studio Website プロジェクトがありました。.VBPROJ が必要だったので、Web サイト プロジェクトを Web アプリケーション プロジェクトに変換する必要がありました。私はいくつかのウォークスルーに従いましたが、変換のためにすべてうまくいきました:

  • 新しい webapp プロジェクトを作成する
  • 参照を追加
  • ファイルをコピーします (Web サイトから webapp フォルダーへ)
  • それらをプロジェクトに含める
  • 「Web アプリに変換」をクリックします。

結局のところ、.ASPX ページに関連する javascript という 3 つの同一のコンパイル エラーが発生します。

<%@ Page Language="VB" AutoEventWireup="false" MasterPageFile ="~/GAR.master" Inherits="GARWA._Default" Codebehind="Default.aspx.vb" %>

'TableWeekID' is not declared. It may be inaccessible due to its protection level.

<script type="text/javascript" language="javascript"> 
//Very important variable! 
var TableWeekTag = '<%=TableWeekID%>'
var DivYearSmallTableTag = '<%=DivYearSmallTable%>' 
var TableNameTag = '<%=TableNameID%>'

ここで何が問題ですか?

ありがとう

4

2 に答える 2

1

このようにできます。

Hiddenfield コントロールを使用して、サーバー変数の値を格納します。
サーバー変数ごとに 1 つの非表示フィールド。
そして値を JavaScript 関数 document.getElementById() に取得します。

以下を使用して、サーバー側の入力コントロールのデータ値を最初に入力します。

ASPX SERVERSIDE CODE

svrTableWeek.Value = TableWeekID
svrDivYear.Value = DivYearSmallTable
svrTableName.Value = TableNameID

また、SERVERSIDE 入力を選択する場合は、ASP ページに次の HTML が必要です。

USING ASP SERVER CONTROLS FOR HIDDEN VALUES

<asp:HiddenField ID="svrTableWeek" runat="server" /> 
<asp:HiddenField ID="svrDivYear" runat="server" /> 
<asp:HiddenField ID="svrTableName" runat="server" /> 

そして、CLIENTSIDE 入力を好む場合は、上記のすべてではなく、以下のコードを使用してください

USING HTML (clientside) CONTROLS FOR HIDDEN VALUES

<input type="hidden" id="svrTableWeek" name="svrTableWeek" value="<%=TableWeekID%>" />
<input type="hidden" id="svrDivYear" name="svrDivYear" value="<%=DivYearSmallTable%>" />
<input type="hidden" id="svrTableName" name="svrTableName" value="<%=TableNameID%>" />

最後に、上記の 2 つの方法のどちらを選択しても、クライアント側の JavaScript でこれらの値を再利用する準備が整いました。

CLIENT SIDE SCRIPT ROUTINES

<script type="text/javascript" language="javascript"> 
//Very important variable! 
var sTableWeek = document.getElementById('svrTableWeek').value;
var sDivYear = document.getElementById('svrDivYear').value;
var sTableName = document.getElementById('svrTableName').value;

私が知っているのは少し長くなっているようですが、問題なく動作するはずです。

于 2013-04-25T01:57:17.747 に答える