66

C#コードが背後にあるASP.Netページがあります。

ただし、SharePointでの展開が容易になるように、コードビハインドを使用しないように求められました。

別のコードビハインドファイルを使用せずに、ASP.NetページにC#コードを含める方法はありますか?

4

6 に答える 6

98

デフォルトでは、Sharepointはサーバー側のコードをASPXファイルで実行することを許可していません。それを解決する方法については、これを参照してください。

ただし、コードビハインドをSharepointにデプロイすることは必ずしも難しいことではありません(広範囲にわたって実施しています)。コードビハインドクラスをアセンブリにコンパイルし、ソリューションを使用してデプロイするだけです。

それでもいいえの場合は、通常配置するすべてのコードを次のようにコードビハインドに含めることができます。

<script language="c#" runat="server">
public void Page_Load(object sender, EventArgs e)
{
  //hello, world!
}
</script>
于 2009-02-19T01:36:45.213 に答える
26

実際には、aspxページにすべてのコードを含めることができます。ここで説明したように。

ここからのサンプル:

<%@ Language=C# %>
<HTML>
   <script runat="server" language="C#">
   void MyButton_OnClick(Object sender, EventArgs e)
   {
      MyLabel.Text = MyTextbox.Text.ToString();
   }
   </script>
   <body>
      <form id="MyForm" runat="server">
         <asp:textbox id="MyTextbox" text="Hello World" runat="server"></asp:textbox>
         <asp:button id="MyButton" text="Echo Input" OnClick="MyButton_OnClick" runat="server"></asp:button>
         <asp:label id="MyLabel" runat="server"></asp:label>
      </form>
   </body>
</HTML>
于 2009-02-19T01:33:03.117 に答える
10

はい、aspxページにrunat=serverのスクリプトタグを含めます

<script language="c#" runat="server">

public void Page_Load(object sender, EventArgs e)
{
  // some load code
}
</script>

従来のASP構文を使用することもできます

<% if (this.MyTextBox.Visible) { %>
<span>Only show when myTextBox is visible</span>
<% } %>
于 2009-02-19T01:33:40.617 に答える
4

DLLがビンにある限り、.aspx.csなしで.aspxページだけをデプロイできると思いました。ここでの問題の一部は、VisualStudio.netが.aspxページでどのように機能するかです。

こちらをご覧ください: VisualStudio.NETでの単一ファイルWebフォームページの操作

確かに、ASP.net MVC RCを使用するVS2008には、ビュー用のコードビハインドファイルがありません。

于 2009-02-19T01:44:57.907 に答える