2012-04-19 8 views
2

Jcropを使用してイメージをトリミングしようとしています。それは動作していない、私は例外を取得し続けている "入力文字列が正しい形式ではなかった"。 cordinatesJcrop crop image

protected void Submit_Click(object sender, EventArgs e) 
{ 
    if (IsPostBack) 
    { 

     int x = Convert.ToInt32(X.Value); 
     int y = Convert.ToInt32(Y.Value); 
     int w = Convert.ToInt32(W.Value); 
     int h = Convert.ToInt32(H.Value);   
+0

は、あなたのHTMLフィールドのIDをチェックしているか、X.Value、Y.Valueに渡され、少なくともどのような値...で?ポストバック?私はあなたのHiddenFieldコントロールに 'ClientIDMode =" Static "'を含めなければならないと思います。 – Jan

答えて

1

を取得しよう

<script type="text/javascript"> 

jQuery(document).ready(function() { 
    jQuery('#crop').Jcrop({ 
     onSelect: updateCoords 
    }); 
}); 

function updateCoords(c) { 
    jQuery('#X').val(c.x); 
    jQuery('#Y').val(c.y); 
    jQuery('#W').val(c.w); 
    jQuery('#H').val(c.h); 
}; 

<asp:Button ID="Submit" runat="server" Text="Crop" 
onclick="Submit_Click" />   

<asp:Image ID="Image" runat="server" Visible="False" />   
<img src="Content/UploadedImage/Image.jpg" id="crop" alt=""/> 

<asp:HiddenField ID="X" runat="server" />   
<asp:HiddenField ID="Y" runat="server" />   
<asp:HiddenField ID="W" runat="server" />   
<asp:HiddenField ID="H" runat="server" /> 

さて、このコードは、私は私がこれを持っているクライアントでは

を使用するものです..しかし、私は考えていませんそれは問題となる

サーバー「upload.ashx」ジェネリックハンドラで

私はあなたがエラーを取得しない場所のほかに

Sub ProcessRequest(ByVal context As HttpContext) Implements IHttpHandler.ProcessRequest 

      Dim x As Integer = Integer.Parse(context.Request("x")) 
      Dim y As Integer = Integer.Parse(context.Request("y")) 
      Dim w As Integer = Integer.Parse(context.Request("w")) 
      Dim h As Integer = Integer.Parse(context.Request("h")) 

を使用して寸法を取得しますか?クライアントまたはサーバ上で?何を投げているの?

そして、ポストバック後にフォーム値を取得しようとしているようですが、それはもはや存在しません。なぜなら、そのポイントは元の値を持たずにページを再初期化しているからです。 。

だからあなたは自分自身に値をポストバックとのRequest.Formを使用してそれらを取得したり、GETメソッドを使用してデータを送信、メモリ内のセッションにvairablesを保存する必要があると私は

1

を持っていた持っているような値を取得するのいずれか同じ問題、そしてそれだけでこの作り解く:

var updateCoords = function(c) { 

    $('#x1').val(Math.round(c.x)); 
    $('#y1').val(Math.round(c.y)); 
    $('#x2').val(Math.round(c.x2)); 
    $('#y2').val(Math.round(c.y2)); 
    $('#w').val(Math.round(c.w)); 
    $('#h').val(Math.round(c.h)); 
}; 
0
jQuery('#X').val(Math.round(c.x)); 
jQuery('#Y').val(Math.round(c.y)); 
jQuery('#W').val(Math.round(c.w)); 
jQuery('#H').val(Math.round(c.h)); 
+0

詳細が不十分です。 –

関連する問題