(私が非常に間違っていない限り..) ASHX は Web サービスであり、コード ビハインドではありません。そのフィールドの値を取得する場合は、フォームを .ASHX ファイルの対応する URL に投稿するか、AJAX を使用する必要があります。
データを返したい場合は、AJAX を使用することをお勧めします。
編集: MSDNによると、私の声明は正しいです。.ASHX は、UI を持たない HttpHandlers 用です。
汎用 Web ハンドラー (*.ashx) UI を持たず、@ WebHandler ディレクティブを含むすべての Web ハンドラーの既定の HTTP ハンドラー。
AJAX で投稿する方法の例:
$(function(){
$.ajax({
url:'location of your ashx goes here',
type: 'post',
success: function(data){
$("#hdnFileName").val(data);
}
};
ASHX は次のデータを返します。
public string ProcessRequest(HttpContext context)
{
var file = context.Request.Files[0];
//here i need to pass this file name in hidden field value
return fileName;
}
注: AJAX を使用したファイルのアップロードについては、 https ://stackoverflow.com/a/8758614/690178 も参照してください。