Visual Studio 2010.NET4.0動的データの初心者です。今、私は自分のWebサイト(C#で記述)の簡単なドロップダウンリストを作成しようとしています。
プロトコルと呼ばれるフィールドがあります(TCPプロトコルのように)。ユーザーが静的な値の1つを選択できるようにしたいと思います。昔は、従来のASPとHTMLを使用していたので、次のようなものを使用していました。
<form name=form1 method="POST" action="./insert.asp">
...
<select name="PROTOCOL" size="1">
<option value="https" selected>https
<option value="sftp">sftp
<option value="ftps">ftps
</SELECT>
...
</form>
...次に、。/insert.aspでデータベースを処理しました。
これまでのところ、Visual Studio 2008(.NET 3.5)でこれを行う方法についての説明を見つけましたが、これはWS2010および.NET 4.0では機能しません:http: //csharpbits.notaclue.net/2008/07/dynamic -data-and-field-templates-your.html
http://www.asp.net/web-forms/videos/aspnet-dynamic-dataの指示に従って、フィールドをカスタマイズするには、次のことを行う必要があると考えました。
- App_Codeフォルダー(MyService.cs)にカスタムコードのファイルを作成します。
- MS-SQLテーブル(サービス)の「パブリック部分クラス」を作成します。
これが私の(¿哀れな?)努力(App_Code / MyService.cs)です:
// MyService.cs
using System;
using System.ComponentModel.DataAnnotations;
using System.Web;
using System.ComponentModel;
[MetadataType(typeof(serviceMetadata))]
public partial class service
{
}
public class serviceMetadata
{
[EnumDataType(typeof(ProtocolType))]
public object protocol { get; set; }
}
public enum ProtocolType
{
https,
sftp,
ftps
}
これは問題なくビルドされますが、実行は「ArgumentExceptionがユーザーコードによって処理されませんでした/渡される値は列挙型ベースまたはInt32などの列挙型の基になる型である必要があります」で終了します。\ DynamicData \ FieldTemplates\Enumeration.ascx.csファイルのメッセージ。
感謝します。