2

Jcrop を使用して画像をトリミングしようとしています。「入力文字列が正しい形式ではありませんでした」という例外が引き続き発生します。

<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" /> 

座標を取得しようとしています

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);        
4

3 に答える 3

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));
};
于 2012-07-04T19:29:06.150 に答える
1

さて、このコードは私が使用するものです

クライアントにはこれがありますが、問題はないと思います

var updateCoords = function(c) {
    $('#x').val(c.x);
    $('#y').val(c.y);
    $('#w').val(c.w);
    $('#h').val(c.h);
};

サーバー「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"))

他に、どこでエラーが発生しますか? クライアントまたはサーバーで?そしてそれを投げているのは何ですか?

そして、ポストバック後にフォームの値を取得しようとしているように見えますが、その時点までにページが元の値なしで再初期化されたため、存在しなくなりました..NETページのレンダリングプロセスがどのように機能するかです.

したがって、変数をメモリ内のセッションに保存し、値をそれ自体にポストバックして Request.Form を使用して取得するか、GET メソッドを使用してデータを送信し、私のように値を取得する必要があります

于 2012-04-19T16:28:41.583 に答える